登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP网盘
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
利用 APEX 打造 Oracle 23ai 智能开发平台
利用 APEX 打造 Oracle 23ai 智能开发平台
[ 复制链接 ]
诸婉丽
2025-6-2 22:42:43
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索引情况信息;
目前只需要选择用户和表即可列出对应的向量字段&向量索引信息:
这里关键的设计是:
选择内容列和选择向量列目前只是预留
选择表对应的页项
6_TABLE添加了两个动态操作
分别刷新下面的两个交互式报表,实现查询信息实时联动
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
诸婉丽
2025-6-2 22:42:43
关注
0
粉丝关注
20
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
黎瑞芝
9990
杭环
9988
4
猷咎
9988
5
凶契帽
9988
6
氛疵
9988
7
恐肩
9986
8
虽裘侪
9986
9
接快背
9986
10
里豳朝
9986
查看更多