OceanBase seekdb 智能混合检索与记忆管理 Skill
oceanbase-seekdb-agent-skill 是专为 ModelScope(魔搭社区)智能体平台 量身定制的高性能数据库集成技能。它将蚂蚁集团开源的分布式原生数据库 OceanBase 及其 AI 引擎 seekdb 的高维向量检索、BM25 词表全文搜索与 SQL 关系处理能力封装为标准 Agent 工具,使大模型智能体能够轻松具备“千万级毫秒检索”与“跨会话持久记忆”两项核心超能力。
1. 核心应用场景
-
企业级精准 RAG 知识库问答:
- 传统的纯向量检索常因专有名词、产品型号、错误码无法精确匹配而产生语义漂移;纯文本检索又缺乏语义泛化。
- 本 Skill 提供
seekdb_hybrid_search,将向量语义余弦距离与 BM25 词频倒排结果通过 RRF(Reciprocal Rank Fusion)融合,召回准确率显著超越单一检索范式。
-
智能体长程情境记忆(Episodic & Semantic Memory):
- 智能体通过
seekdb_store_memory将用户长期偏好、历史任务进展、关键决策节点持久化落盘。在后续跨会话或系统重启后,可随时精准按意图重现上下文。
- 智能体通过
-
结构化业务数据混合过滤:
- 支持在执行向量相似度检索的同时,基于标准 SQL 条件对业务属性(如部门权限、创建时间戳、状态标志)进行下推预过滤,避免应用层繁复拼装。
2. 提供的工具清单 (Tools Specification)
2.1 seekdb_hybrid_search
- 功能描述:结合稠密向量余弦相似度与 BM25 文本词表进行 RRF 倒数排名融合检索。
- 调用时机:当用户提出需要参考外部专业文档、规约、产品手册或历史知识库的问答请求时调用。
- 调用示例:
{
"name": "seekdb_hybrid_search",
"arguments": {
"query": "如何在 OceanBase 中创建 HNSW 向量索引?",
"collection_name": "oceanbase_tech_docs",
"top_k": 3,
"rrf_k": 60
}
}
2.2 seekdb_vector_search
- 功能描述:基于用户或上游 Embedding 模型生成的向量,在指定集合中执行极速相似度搜索。
- 调用时机:已持有目标文本 Embedding 向量且仅需语义泛化搜索时。
2.3 seekdb_store_memory
- 功能描述:将关键对话线索、用户画像、任务中间状态持久化存入数据库。
- 调用示例:
{
"name": "seekdb_store_memory",
"arguments": {
"collection_name": "agent_user_memory",
"document": "用户倾向使用 Python 3.12 编写测试,且偏好 pytest 框架与 Strict 异步模式。",
"metadata": {
"user_id": "usr_9981",
"category": "preference",
"importance": 1.5
}
}
}
2.4 seekdb_table_query
- 功能描述:向 seekdb 发送安全受控的只读 SELECT 查询,获取关联统计指标与行记录。
3. 智能体系统提示词推荐 (System Prompt Integration)
将以下提示词片段注入 ModelScope Agent 的 System Prompt 中:
你是一个搭载了 OceanBase seekdb 专属知识库与长程记忆引擎的专业 AI 助手。
你有权调用以下工具与本地数据库交互:
- 当用户询问涉及事实资料、项目规格、操作步骤时,优先调用 `seekdb_hybrid_search` 召回权威依据,并在回答中引用命中来源。
- 当用户表达了个人的重要习惯、偏好,或当前长任务阶段性完成重要检查点时,必须调用 `seekdb_store_memory` 进行状态留痕。
- 严禁在大模型回答中编造数据库不存在的数据;检索无命中时应如实说明并给出合理建议。
4. 防幻觉与安全准则
- SQL 注入防范:
seekdb_table_query仅允许执行只读的SELECT语句,严禁执行任何DROP,DELETE,UPDATE,ALTER等写入或 DDL 破坏性操作。 - 零结果兜底:若
seekdb_hybrid_search召回的各条目相似度得分均低于系统置信阈值,智能体需如实提示用户:“在知识库中未检索到完全匹配的条款,以下仅基于通用常识推断,请谨慎参考”。 - 敏感信息过滤:持久化写入记忆时,应自动脱敏手机号、身份证号、银行卡号等 PII 隐私数据。
5. 环境配置与连接方式
本 Skill 支持以下两种部署形态:
- 本地嵌入式/Docker 形态:通过标准 MySQL Client 或 Python
pymysql连接至本地seekdb服务(默认端口 2881)。 - 云端原生 OceanBase 形态:通过配置环境变量
SEEKDB_HOST,SEEKDB_PORT,SEEKDB_USER,SEEKDB_PASSWORD实现多租户安全通信。
微信扫一扫