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 智能开发平台的更多相关文章

  1. UI标签库的话题:JEECG智能开发平台 BaseTag(样式表和JS标签的引入)

    UI标签库专题一:JEECG智能开发平台 BaseTag(样式表和JS引入标签) 1.BaseTag(样式表和JS引入标签) 1.1. 演示样例 <t:base type="jquer ...

  2. 利用Team@OSC进行团队协作开发平台

    利用Team@OSC进行团队协作开发平台 Team@OSC介绍 Team@OSC 是一个团队协作开发平台,轻松管理轻量级团队.代码运行平台(PaaS).代码质量检查应有尽有. 链接:https://t ...

  3. UI标签库专题二:JEECG智能开发平台Column(列) 子标签

    UI标签库专题二:JEECG智能开发平台Column(列) 子标签  1.1. Column(列) 子标签 1.1.1. 演示样例 <t:dgCol title="年龄" ...

  4. UI标签库专题十三:JEECG智能开发平台 ckfinder(ckfinder插件标签)

    1. ckfinder(ckfinder插件标签) 1.1. 參数 属性名 类型 描写叙述 是否必须 默认值 name string 属性名称 是 null value string 默认值 否 nu ...

  5. jeecg智能开发平台参与-2013年度中国优秀开源项目评比

    JEECG正在参与<2013年度中国十大优秀开源项目> 评比,如果大家觉得JEECG还不错, 请投出你宝贵的一票,给我们以支持吧!!! [目前排名第8位] https://code.csd ...

  6. UI标签库专题十一:JEECG智能开发平台 DictSelect (数据字典下拉选择框)

     1. DictSelect (数据字典下拉选择框) 1.1. 參数 属性名 类型 描写叙述 是否必须 默认值 typeGroupCode string 字典分组编码 是 null field s ...

  7. UI标签库专题四:JEECG智能开发平台 Upload(上传标签)

     1. Upload(上传标签) 1.1.  參数 属性名 类型 描写叙述 是否必须 默认值 id string 上传控件唯一标示 是 null name string 控件name 是 null ...

  8. UI标签库专题三:JEECG智能开发平台 FormValidation(表单提交及验证标签)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/28484209  自己定义弹出框提示 ...

  9. UI标签库专题九:JEECG智能开发平台 Choose(选则操作标签)

     1. Choose(选则操作标签) 1.1. 參数 属性名 类型 描写叙述 是否必须 默认值 hiddenName string 隐藏域的ID 否 null hiddenid string 隐藏 ...

  10. UI标签库专题十:JEECG智能开发平台 Form(form标签)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/30099121  1. Form(f ...

随机推荐

  1. 【Netty】(3)—源码NioEventLoopGroup

    netty(3)-源码NioEventLoopGroup 一.概念 NioEventLoopGroup对象可以理解为一个线程池,内部维护了一组线程,每个线程负责处理多个Channel上的事件,而一个C ...

  2. Java中,将ResultSet映射为对象和队列及其他辅助函数

    关于对象关系映射(ORM)在数据库访问中用到的最多,在Java中,很多库都试图将一个ResultSet映射为一个自定义的Java Bean对象或队列,下面是我的实现 1 从ResultSet中读取数据 ...

  3. 280:监控和管理LINUX进程

  4. SOUI4.0发布

    4.0在3.x基础上将核心对象全部COM接口化,支持C语言调用SOUI. GIT仓库: gitee: https://gitee.com/setoutsoft/soui4 github: https: ...

  5. 最大流的 Dinic 算法和 ISAP 算法

    上期回顾:https://www.cnblogs.com/ofnoname/p/18678895 之前我们已经介绍了最大流问题的基本定义.最大流最小割定理.增广路径与残量网络的构建方法,以及如何利用这 ...

  6. 探索魔乐社区:GLM-4V-9B模型微调之旅

    人工智能的浪潮中,魔乐社区以其丰富的资源和开放的环境,逐渐成为了开发者们的新宠.今天,让我们一起走进魔乐社区,通过GLM-4V-9B模型微调的最佳实践,体验这个平台的独特魅力. 多模态的新星:GLM- ...

  7. ESP8266+AT指令,使用MQTT协议连接阿里云

    AT指令集 AT+CWMODE=1 AT+CWJAP="热点名","热点密码" AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com& ...

  8. 无分类有tag

    1 2

  9. Sqoop增量导入注意事项 incremental lastmodified与target-dir连用报错 Imported Failed: Wrong FS

    这里引用一篇博客  写的很好 https://blog.csdn.net/C_time/article/details/101109071

  10. Deepseek学习随笔(12)--- 清华大学发布第4弹:DeepSeek+DeepResearch让科研像聊天一样简单(附网盘链接)

    一.文档简介 清华大学发布的<DeepSeek+DeepResearch让科研像聊天一样简单>介绍了如何通过DeepSeek和DeepResearch工具简化科研流程,提升研究效率.文件分 ...