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地址:https://github.com/oceanbase/powermem

  • seekdb: 这是 OceanBase 打造的⼀款开发者友好的 AI 原⽣数据库产品,专注于为 AI 应⽤提

    供⾼效的混合搜索能⼒,⽀持向量、⽂本、结构化与半结构化数据的统⼀存储与检索,并通过

    内置 AI Functions ⽀持数据嵌⼊、重排与库内实时推理。 seekdb 在继承 OceanBase 原核

    ⼼引擎⾼性能优势与 MySQL 全⾯兼容特性的基础上,通过深度优化数据搜索架构,为开发者

    提供更符合 AI 应⽤数据处理需求的解决⽅案。

环境

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

  • ECS的机器

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

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

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

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

  • 注意这里:

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

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

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

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

运行


*

  • 可以看到我在安装了。如果没有这个,就要复制这些代码到一个新建的python环境去安装。

  • 安装好的效果就是这样:在这里直接运行。(这种是第一次用到,以前都不知道Jupyter这种东西)。


*

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

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

  • select * from test.memories limit 1\G

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

  • 分别是增加一条记忆,增加多条记忆,后面还有修改一条记忆和删除记忆等步骤。

    大家可以看到这里我提到每个都是记忆,那这样做的意义是什么?

    其实作用就是在我们使用AI对话时候,一个token数量是有限的。当放不下的时候,不得不开一个新的会话。那么这里AI只能从0开始对话,之前的信息并不能掌握。有时候可能就要费时费力的去概括一下之前的内容。而有了这个以后,AI把一些重要的信息记录到数据库中,这样即使是新开的会话(只要匹配到对应的同一个用户ID)就能把历史上有过的会话信息快速找到。

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

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

相关推荐
owCode1 小时前
OceanBase训练营miniob提测踩坑
数据库·oceanbase·数据库开发
wind_one11 小时前
16。基础--SQL--DQL-分页查询
数据库·sql
q***42051 小时前
python的sql解析库-sqlparse
数据库·python·sql
ashane13142 小时前
Flask-SQLAlchemy db 使用说明
数据库·oracle
FinTech老王3 小时前
集中式 vs 分布式数据库:金融用户如何选择?——金仓数据库的双架构实践与选型指南
数据库·分布式·金融
q***92513 小时前
MySQL 启动失败 (code=exited, status=1FAILURE) 异常解决方案
数据库·mysql
Leon-Ning Liu3 小时前
Oracle Data Guard Broker RedoRoutes 属性配置文档
数据库·oracle
JIngJaneIL4 小时前
远程在线诊疗|在线诊疗|基于java和小程序的在线诊疗系统小程序设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·在线诊疗小程序
川石课堂软件测试4 小时前
自动化过程中验证码的解决思路
数据库·python·功能测试·测试工具·单元测试·tomcat·自动化