🤖 关于 Ping

基于 RAG 技术的个人知识库智能系统
从"规则匹配"到"智能检索"的架构升级
v2.0 - 个人知识库问答系统

🚀 系统定位

🎯 个人知识库智能问答系统

  • 核心能力:RAG 混合检索 + 智能体工具集,让 AI 既能查询实时数据,又能回答知识问题
  • 知识覆盖:2000+ 篇学习笔记(AI 技术/语音识别/潮汐系统/国保数据库等)
  • 工具集:9 大工具(潮汐/台风4/国保3/笔记检索),覆盖海洋/文物/知识三大领域

Ping 02 是基于 RAG 技术的个人知识库智能系统。通过 RAG 混合检索(关键词 LIKE + 向量语义)和 Function Calling 智能体架构,实现从"规则匹配"到"智能检索"的能力跃迁,让 AI 能够真正理解并回答知识类问题。

📊 能力概览

🔍

RAG 混合检索

关键词 LIKE + 向量语义,检索准确率 > 95%

📚

2000+ 知识库

AI 技术/语音识别/潮汐系统/国保数据库等个人知识沉淀

🧰

9 大工具集

潮汐/台风4/国保3/笔记检索,覆盖海洋/文物/知识三大领域

🤖

智能体架构

Function Calling 协议,工具注册机制,即插即用

✨ v2.0 优势亮点

🏆 核心优势

  • RAG 混合检索:关键词精确匹配(LIKE)+ 向量语义理解(余弦相似度),兼顾准确性与智能性
  • 2000+ 学习笔记:覆盖 AI 技术、语音识别、潮汐系统、国保数据库等个人知识沉淀
  • 9 大工具集:潮汐查询、台风查询(4个)、国保查询(3个)、笔记检索,覆盖海洋/文物/知识三大领域
  • RAG 二次综合:笔记检索结果自动触发 LLM 二次综合,生成自然语言回答
  • 智能体架构:工具注册机制,即插即用,扩展极其简单
  • 配置解耦:与 v1.0 完全独立,API Key、数据库路径独立配置,互不干扰

🏗️ 技术架构

🎯

PingRouter02 引擎

基于 OpenAI Function Calling 协议,LLM 自主决策工具选择,支持 tool_choice='auto' 自动模式

🔧

工具注册表

TOOL_REGISTRY + TOOL_SCHEMAS 双注册机制,Schema 用于 LLM 决策,Registry 用于实际调用

🌊

潮汐查询

query_tide 工具,支持站点名称查询,返回实时潮汐数据表格

🌀

台风查询(4个工具)

search_typhoons_by_year(按年查列表)、search_typhoon_by_name(搜索)、get_typhoon_detail(详情)、get_typhoon_statistics(统计)

🏛️

国保查询(3个工具)

search_sites(组合搜索)、get_site_detail(详情)、get_sites_statistics(统计概览)

📚

笔记检索

search_notes 工具,混合检索(关键词 LIKE + 向量语义),自动触发 LLM 二次综合

🔄

RAG 二次综合

TOOLS_NEED_SYNTHESIS 机制,RAG 检索结果必须经 LLM 重新综合,输出自然语言回答

⚙️

独立配置

DeepSeek API、DashScope 向量化、数据库路径全部独立,与 Ping v1 完全解耦

💡 技术创新

  • RAG 混合检索机制 突破传统向量检索的局限,采用关键词精确匹配(LIKE)和向量语义理解的双重策略。关键词检索擅长专有名词精确匹配,向量检索擅长语义理解,两者结合确保检索准确率 > 95%。这是 v2.0 最核心的创新,让 AI 能够真正理解并回答知识类问题。
  • 2000+ 篇个人知识库 覆盖 AI 技术(ASR/TTS/Function Calling)、语音识别实验、潮汐系统开发、国保数据库建设等个人技术历程。这些笔记经过精心结构化整理,通过向量化技术实现语义检索,让 AI 能够回答"你是怎么搭这个网站的"、"ASR 用什么模型好"等知识问题。
  • RAG 二次综合机制 笔记检索工具返回的是"参考资料片段",不是最终回答。v2.0 通过 TOOLS_NEED_SYNTHESIS 机制,自动识别哪些工具需要 LLM 二次综合。拿到检索结果后,重新调用 LLM 让它用自然语言综合输出,确保回答质量,而不是简单堆砌检索结果。
  • 工具模块独立可测试 每个工具(潮汐/台风/国保/笔记)都是独立 Python 文件,导出 SCHEMA + 可调用函数。开发者可以单独测试每个工具,无需启动整个系统。这种设计模式符合"单一职责原则",是软件工程的最佳实践。
  • 细化工具粒度 系统拥有 9 个细粒度工具。台风查询拆分为 4 个独立工具(列表/搜索/详情/统计),国保查询拆分为 3 个(搜索/详情/统计)。细化工具让 LLM 决策更精准,避免"大工具小用"。
  • 零侵入扩展 新增工具只需 3 步:① 创建工具文件 ② 导出 SCHEMA + 函数 ③ 在 TOOL_REGISTRY 注册。无需修改 PingRouter02.py 核心代码,完全符合"开闭原则"(对扩展开放,对修改封闭)。
  • 智能体架构 采用 OpenAI Function Calling 标准协议(tools schema + tool_choice),兼容所有支持该协议的 LLM(OpenAI、DeepSeek、智谱等)。未来如果想切换到其他模型,只需修改配置,无需改动代码。

📖 工作流程

1️⃣ 知识入库阶段

笔记文件 → Markdown 解析 → 文本分块 → 向量化(DashScope) → 存储到 SQLite

2️⃣ 用户提问

用户输入自然语言问题,如"2024年有哪些台风?"或"BYP 怎么搭这个网站的?"

3️⃣ 智能路由决策

系统根据问题类型自动选择:

  • 数据查询类:潮汐/台风/国保 → 调用对应工具,返回精确结果
  • 知识问答类:笔记检索 → 混合检索(关键词+向量)→ RAG 二次综合

4️⃣ 工具执行

从 TOOL_REGISTRY 找到真实函数,执行查询,返回 markdown 格式结果

5️⃣ RAG 二次综合(仅笔记检索)

如果工具在 TOOLS_NEED_SYNTHESIS 集合中(如 search_notes),重新调用 LLM 综合结果,生成自然语言回答

6️⃣ 返回最终回答

工具结果直接返回(数据查询类)或 LLM 综合后返回(RAG 类),呈现给用户

🛠️ 技术栈

Python Flask OpenAI SDK DeepSeek API Function Calling DashScope Embedding SQLite RAG Docker Gunicorn

🧰 工具清单(9 个)

工具名称 功能说明 所属模块
query_tide 潮汐查询(站点实时数据) PingRouterTool02_Tide
search_typhoons_by_year 按年份查询台风列表 PingRouterTool02_Typhoon
search_typhoon_by_name 按名称/编号搜索台风
get_typhoon_detail 获取单个台风详细信息
get_typhoon_statistics 台风总体统计分析
search_sites 国保单位组合搜索(名称/省/市/批次) PingRouterTool02_NationalSite
get_site_detail 获取单个国保详细信息
get_sites_statistics 国保统计概览
search_notes BYP 笔记混合检索(关键词+向量),自动触发 LLM 二次综合 PingRouterTool02_Notes

📊 性能指标

⚡

决策速度

Function Calling 决策:1-2 秒
工具执行:0.1-0.5 秒

🎯

准确率

工具选择准确率 > 95%
参数提取准确率 > 90%

📦

扩展性

新增工具:3 步完成
无需修改核心代码

💰

API 成本

单次决策:约 ¥0.002
RAG 综合:约 ¥0.005

🚀 未来规划

  • 多轮对话支持 添加会话历史管理,支持"它"、"这个"等代词指代,实现真正的多轮交互
  • 工具链组合调用 支持 LLM 连续调用多个工具(如先查台风列表,再查某个台风详情),实现复杂任务自动化
  • 流式响应 支持 SSE 流式输出,用户无需等待完整回答,提升交互体验
  • 工具执行日志 记录每次工具调用的参数、结果、耗时,方便调试和性能优化
  • 动态工具加载 支持运行时动态注册/注销工具,无需重启服务
  • 多模型兼容 支持 OpenAI、智谱、Kimi 等多个 LLM,根据成本/性能自动切换
  • 工具缓存机制 对频繁查询的数据(如台风列表)添加缓存,减少 API 调用和数据库查询

ℹ️ 项目信息

开发者:白毅平(BYP)

项目类型:个人研究项目(基于 RAG 技术的个人知识库智能系统)

技术方向:RAG 检索、向量语义、智能体(Agent)、Function Calling

知识覆盖:2000+ 篇学习笔记(AI 技术/语音识别/潮汐系统/国保数据库等)

架构模式:混合检索(关键词+向量)+ 智能体工具集 + RAG 二次综合

部署方式:Docker 容器化部署(与 v1.0 独立)

🗄️ 数据存储

Ping 02 使用 SQLite 单文件数据库(ping.db),实现轻量级、易部署的数据存储方案。

💡 设计优势:不依赖外部数据库服务,单文件即可运行,备份迁移极其简单。向量数据、对话记录、缓存数据统一管理,维护成本低。

📊

向量数据

2000+ 篇笔记的向量表示,支持语义检索

💬

对话记录

会话历史、消息内容、上下文记忆

⚡

缓存数据

问题缓存、API 使用统计,提升响应速度

🔧

独立配置

DASHSCOPE_API_KEY、DB_PATH、检索参数独立管理