OceanBase的嵌入式数据库:vscode+python+seekdb

通过动手实验体会vibe coding

  • 在实验前需要具备的前提条件是:

  • 1要安装好vscode

  • 2 要安装好Python环境

  • 3 需要seekdb

  • 4 需要powermem

  • 5 Jupyter插件(非必须,但是实际用过以后还是装吧)

  • 这里的1和2做开发的人都知道。

  • 3和4其实知道的人很少。

名词解释

  • PowerMem : 这是⼀款由 OceanBase 公司出品的专为 AI 应⽤打造的智能记忆 SDK,通过 LLM ⾃
    动从对话中提取关键事实,实现记忆的去重、更新与合并,并基于艾宾浩斯遗忘曲线引⼊时间/频次
    的强化学习机制,让 AI 能像⼈类⼀样⾃然“遗忘”过时噪声信息。⽀持多智能体记忆共享和隔离、多
    模态数据(⽂本、图像、语⾳)记忆,并深度适配 OceanBase 混搜能⼒,结合多路召回与⼦表⾃
    动路由的策略,显著提升⼤规模记忆的存储与查询效率。轻量级设计,易于集成,助⼒开发者快速
    构建具备⻓期记忆能⼒的 AI 应⽤系统。github地址:GitHub - oceanbase/powermem: PowerMem: Your AI-Powered Long-Term Memory — Accurate, Agile, Affordable.

  • seekdb: 这是 OceanBase 打造的⼀款开发者友好的 AI 原⽣数据库产品,专注于为 AI 应⽤提
    供⾼效的混合搜索能⼒,⽀持向量、⽂本、结构化与半结构化数据的统⼀存储与检索,并通过
    内置 AI Functions ⽀持数据嵌⼊、重排与库内实时推理。 seekdb 在继承 OceanBase 原核
    ⼼引擎⾼性能优势与 MySQL 全⾯兼容特性的基础上,通过深度优化数据搜索架构,为开发者
    提供更符合 AI 应⽤数据处理需求的解决⽅案。

环境

  • 在OceanBase的发布会上得到了官方给的环境。

  • ECS的机器
    image

  • 这个机器上已经安装好了seekdb和powermem。seekdb是用docker启动的。里面的database和表都已经初始化好了。

  • 这样我们就可以直接用vscode去操作。先说这种通俗易懂的。(自己本地化安装最后说)

  • 在vscode中安装remote ssh 插件。输入对的IP地址用户名密码,登录到远程服务器。请看总体目录
    image

  • 准备好的环境就是贴心,已经有了powermem。

  • 注意这里:
    image

  • 如果本地安装这个环境变量文件是没有的。需要手工建立。因为下载的powermem是在github上,不推荐说把链接数据库的信息放在里面。具体里面是这样的:

image

  • 可以看到里面还涉及到了API的key。

  • 按照我左边的路径进入到workspace/powermem/docs/examples/

  • 可以看到有8对文件。每个md文件是实验说明。每个ipynb是Jupyter Notebook的专属文件。也就是说这个文件中的代码在安装了Jupyter插件后是可以直接运行的。所以还是老实在vscode中安装吧。

运行

image

  • 可以看到我在安装了。如果没有这个,就要复制这些代码到一个新建的python环境去安装。
  • 安装好的效果就是这样:在这里直接运行。(这种是第一次用到,以前都不知道Jupyter这种东西)。

image

image

  • 因为刚才的env中有数据库的连接字符串这就把这些数据写入到这个seekdb的嵌入式数据库了。

  • 进到数据库验证一下:obclient -h 127.0.0.1 -P 2881 -u root -p

  • select * from test.memories limit 1\G

image

  • 整个步骤有好几个,我列举一下:

image

  • 分别是增加一条记忆,增加多条记忆,后面还有修改一条记忆和删除记忆等步骤。
    大家可以看到这里我提到每个都是记忆,那这样做的意义是什么?
    其实作用就是在我们使用AI对话时候,一个token数量是有限的。当放不下的时候,不得不开一个新的会话。那么这里AI只能从0开始对话,之前的信息并不能掌握。有时候可能就要费时费力的去概括一下之前的内容。而有了这个以后,AI把一些重要的信息记录到数据库中,这样即使是新开的会话(只要匹配到对应的同一个用户ID)就能把历史上有过的会话信息快速找到。

  • 以上感谢OB的靖顺(花名)老师帮我解惑,协助我遇到的一些问题。

  • 其实seekdb 主要是嵌入式+轻量混搜,这就是 seekdb 的价值。

1 个赞