利用 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 ...
随机推荐
- (vm/vb)虚拟机复制或者拷贝之后连不上网络怎么处理?
(vm/vb)虚拟机复制或者拷贝之后连不上网络怎么处理? Linux虚拟机无论在VMware还是VirtualBox下面,只要复制拷贝到别的地方,开启网络服务都会出现报错的问题. 这里以CentOS ...
- Web安全知识记录
本文分享自天翼云开发者社区<Web安全知识记录>,作者:赵****雅 1.网站置于服务器中,而服务器则是指连接在网络中的一台计算机.当我们浏览网站时,实际上就是我们用个人计算机通过网络访问 ...
- Linux网络优化踩坑net.ipv4.tcp_tw_recycle
一.背景 来源于埋点上报服务,埋点上报服务是用户打开APP后点击.浏览.曝光等数据都会上报到埋点服务,收集数据后用来公司运营. 本次踩坑来源于监控到上课高峰期net.sockets.tcp.timew ...
- IPTools for .NET:快速查询全球IP信息
IPTools 是一个用于快速查询全球 IP 地址信息的库,支持国内和国际 IP 查询,提供详细的地理位置信息(如国家.省份.城市)以及经纬度等数据. 1. IPTools.China IPTools ...
- N-gram基本原理
N-gram模型是一种语言模型(Language Model,LM),语言模型是一个基于概率的判别模型,它的输入是一句话(单词的顺序序列),输出是这句话的概率,即这些单词的联合概率(joint pro ...
- mybatis - [11] ResultMap结果集映射
题记部分 用于处理数据库中的字段名和Java实体类中的属性名不一致的问题 数据库中的字段为id,name,pwd.Java实体类属性为id,name,password. 在映射文件中select标签使 ...
- 大数据之路Week10_day07 (JavaAPI 操作Redis 与Hbase建立索引,通过查询redis中的索引查询Hbase数据)
在这里是简单模拟将索引存到redis中,再通过先查询索引再将Hbase中的数据查询出来. 需要考虑的问题: 1.建立redis的连接,建立Hbase的连接 2.如何创建索引,即创建索引的key和val ...
- 解决win11输入法自定义短语有多个当前日期只有最后一个生效
由于win11自定义短语保存机制问题导致只有最后一个当前日期短语生效** 1.首先找到自定义短语存储文件的具体路径:%AppData%\Microsoft\InputMethod\Chs\ 拼音输入法 ...
- 洛谷P4390 [BalkanOI2007] Mokia 摩基亚 题解
题目传送门. 想必 我的另外一篇题解 已经把这道题的思路说的很清楚了,但是那道题是把所有的修改全部告诉你,然后再一个一个问你矩阵和,但是这道题他是修改中夹着询问,但是没有关系,我们照样可做. 考虑将所 ...
- 来自deepseek:php禁止跨域请求
在PHP中,禁止API被跨域调用可以通过设置HTTP响应头来实现.跨域资源共享(CORS,Cross-Origin Resource Sharing)是一种机制,允许浏览器从不同域名的服务器请求资源. ...