利用 APEX 打造 Oracle 23ai 智能开发平台
Oracle 23ai 有很多新功能,但用户痛点是不会用。
因此计划开发一个适合小白的图形化界面Oracle 23ai智能开发平台
,过程中也能学习APEX的玩法。
本篇先拿Oracle数据库向量操作相关功能起步,这个子项目就姑且起名为Vectorizer
吧,初期先实现这四个基础功能模块:
- 1.向量字段准备
- 2.字段选择与向量化
- 3.索引操作
- 4.查询结果
功能模块细化描述:
1.给选定表添加一个向量字段;
2.针对表中的某字段向量化存储到刚刚添加的向量字段中;
3.创建hnsw索引;
4.查询结果能够显示:1)向量化字段信息;2)hnsw索引情况信息;
1.向量字段准备
给选定表添加一个向量字段。
实现可以通过LOV列表选择指定用户、指定表,然后用户输入自己要新增的Vector类型的列名,指定Vector维度,默认值是*
,用户也可以按需输入1~65535之间的任意整数值。
点击添加vector列
的按钮即可实现给指定表添加一个向量字段类型的新列。在按钮下方的消息区域能够看到操作结果反馈,是否添加成功。
这里有关APEX的设计是:
- 两个LOV列表之间是需要设置级联关系,实现自动刷新
- 这个按钮我使用的是添加动态操作,执行服务器端代码,选择PL/SQL
- 上面同时要注意设置好要提交的项和要返回的项
- 为了实现消息区域的自动刷新,添加了第2个动态操作,受影响的元素选定消息区域
2.字段选择与向量化
针对表中的某字段向量化存储到刚刚添加的向量字段中。
这里通过LOV列表选择指定用户、指定表、选择内容列、选择向量列。然后点击指定列向量化
按钮,将选定内容列的内容向量化并存储在选定向量列中。
注意这里会有点慢,耐心等待消息区域出现类似上图的信息后,才算成功。
这里关键的设计是:
- 调试期间,Embedding遇到超过限制的最大tokens问题
- 在PL/SQL代码中设计逐行更新
- 截断文本避免超过 token 限制
3.索引操作
创建 HNSW(Hierarchical Navigable Small World)索引:
这里参数看着比较多,其实关键只需要指定你要建立的索引名、然后就是选择用户名、表名、向量列名即可,其他参数有需要就微调下,没特殊需求或不太了解就默认,我这里都给设了默认值。
选择好之后直接点击创建HNSW索引
按钮。
这里关键的设计是:
- 创建报错 ORA-51961: 向量内存区域空间不足。
- 只需数据库中设置
VECTOR_MEMORY_SIZE
参数,指定专门的内存空间。 - 这里的按钮我采用了另外一种方式,添加处理,执行PL/SQL代码,处理设置了成功消息和错误消息
- 处理调用的存储过程在DB中封装成一个包,方便后续添加其他复杂的过程或函数
4.查询结果
查询结果能够显示:1)向量化字段信息;2)hnsw索引情况信息;
目前只需要选择用户和表即可列出对应的向量字段&向量索引信息:
这里关键的设计是:
- 选择内容列和选择向量列目前只是预留
- 选择表对应的页项
:P6_TABLE
添加了两个动态操作 - 分别刷新下面的两个交互式报表,实现查询信息实时联动
利用 APEX 打造 Oracle 23ai 智能开发平台的更多相关文章
- UI标签库的话题:JEECG智能开发平台 BaseTag(样式表和JS标签的引入)
UI标签库专题一:JEECG智能开发平台 BaseTag(样式表和JS引入标签) 1.BaseTag(样式表和JS引入标签) 1.1. 演示样例 <t:base type="jquer ...
- 利用Team@OSC进行团队协作开发平台
利用Team@OSC进行团队协作开发平台 Team@OSC介绍 Team@OSC 是一个团队协作开发平台,轻松管理轻量级团队.代码运行平台(PaaS).代码质量检查应有尽有. 链接:https://t ...
- UI标签库专题二:JEECG智能开发平台Column(列) 子标签
UI标签库专题二:JEECG智能开发平台Column(列) 子标签 1.1. Column(列) 子标签 1.1.1. 演示样例 <t:dgCol title="年龄" ...
- UI标签库专题十三:JEECG智能开发平台 ckfinder(ckfinder插件标签)
1. ckfinder(ckfinder插件标签) 1.1. 參数 属性名 类型 描写叙述 是否必须 默认值 name string 属性名称 是 null value string 默认值 否 nu ...
- jeecg智能开发平台参与-2013年度中国优秀开源项目评比
JEECG正在参与<2013年度中国十大优秀开源项目> 评比,如果大家觉得JEECG还不错, 请投出你宝贵的一票,给我们以支持吧!!! [目前排名第8位] https://code.csd ...
- UI标签库专题十一:JEECG智能开发平台 DictSelect (数据字典下拉选择框)
1. DictSelect (数据字典下拉选择框) 1.1. 參数 属性名 类型 描写叙述 是否必须 默认值 typeGroupCode string 字典分组编码 是 null field s ...
- UI标签库专题四:JEECG智能开发平台 Upload(上传标签)
1. Upload(上传标签) 1.1. 參数 属性名 类型 描写叙述 是否必须 默认值 id string 上传控件唯一标示 是 null name string 控件name 是 null ...
- UI标签库专题三:JEECG智能开发平台 FormValidation(表单提交及验证标签)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/28484209 自己定义弹出框提示 ...
- UI标签库专题九:JEECG智能开发平台 Choose(选则操作标签)
1. Choose(选则操作标签) 1.1. 參数 属性名 类型 描写叙述 是否必须 默认值 hiddenName string 隐藏域的ID 否 null hiddenid string 隐藏 ...
- UI标签库专题十:JEECG智能开发平台 Form(form标签)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/30099121 1. Form(f ...
随机推荐
- window service 2012 R2 0x8007000d
今天遇到了一个很无语的问题,我的一个.net core 项目,部署到IIS上之后,启动网站,报500.19的错误.尝试了网上N种办法始终没办法解决,最后重装了我的.net core,解决了. 第一步: ...
- bkce-6.0.4基础环境部署简述
1.概述 1.1.相关网站: # 蓝鲸软件包下载:https://bk.tencent.com/download/ # 蓝鲸社区版软件包下载https://bk.tencent.com/downloa ...
- THUWC2024 游记
省流:D1T3,Pretest 97,D2 和 4.so 决斗两小时(胜利). day 0 从成都早上坐火车,中午到了重庆. 坐轻轨到了酒店附近,虽然我不住酒店.lxs 带着吃了一碗面.重庆的面挺好吃 ...
- 同步工具-Oceanus打通mysql到Iceberg
一.服务配置 已配置好gt_oneline_2,其它集群还需按照下面方式特殊配置 1.需要腾讯Oceanus同学在后端修改高途flink集群配置core-site.xml文件,增加如下配置.只能绑定一 ...
- Luogu P7077 CSP-S2020 函数调用 题解 [ 蓝 ] [ 拓扑排序 ] [ 动态规划 ] [ 数学 ]
函数调用:个人非常喜欢的一道拓扑题. 转化 这题一共有三种操作,不太好搞.而第一个函数看起来就比较可做,第三个函数显然就是让你拓扑转移,于是我们考虑第二个操作怎么处理. 当我们进行一个操作一后,假设当 ...
- 鸿蒙开发 - 支持导出,跨文件使用的自定义样式 AttributeModifier
我们在自定义组件的时候,无论是用 @Styles 还是 @Extend,都很难真正做到独立的封装样式,因为这两者都不支持导出,不可以跨文件调用 这篇文章主要介绍一个接口 AttributeModifi ...
- 精选4款基于.NET开源、功能强大的通讯调试工具
前言 今天大姚给大家分享4款基于.NET开源.功能强大的通讯调试工具,旨在帮助.NET开发者们更好的应对通讯调试方面的学习和工作,提升调试效率. LLCOM LLCOM是一个.NET开源的.功能强大的 ...
- Halcon学习教程(二) 测量量测相关(点到线距离,线到线距离,轮廓线距离,一维测量,圆形测量,矩形测量等)
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/18740576 本篇讲一些测量用到的算子和实例,想了解更多就得去看看halcon实例里一维测量里 ...
- 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
大家好!今天给大家带来一个好消息,Dapr(Distributed Application Runtime)1.15版本正式发布啦!对于不熟悉Dapr的朋友来说,Dapr是一个开源的.跨平台的运行时, ...
- DeepSeek 官方推出的提示词库,AI内容生成的精准导航仪!
前言 在当今数字化时代,人工智能(AI)正以前所未有的速度改变着我们的生活方式和工作模式.从简单的数据处理到复杂的创意生成,AI技术正逐渐渗透到各个领域,成为推动社会进步的重要力量.然而,如何高效地利 ...