🤖 关于 Ping

AI 智能助手研究项目
基于 RAG 技术的个人知识库问答系统

📋 项目简介

Ping 是我个人开发的 AI 智能助手项目,基于 PingRouter智能路由引擎,整合了 PingRouterRAG技术(笔记检索)和 PingRouterTools技术(工具调用),为用户提供准确、智能的问答服务。

与传统的 AI 对话系统不同,Ping 不仅能基于 2000+ 学习笔记回答语义问题,还能查询时间、台风、国保等实时数据,让 AI 既能理解语义,又能精确查询!

✨ 技术亮点

🎯 核心优势

  • PingRouter智能路由引擎:PingRouterRAG技术(笔记检索)+ PingRouterTools技术(工具调用)的统一架构
  • 双重检索机制:关键词精确匹配(LIKE)+ 向量语义理解(余弦相似度),兼顾准确性与智能性
  • 双重缓存机制:本地缓存(内存快速响应)+ 云端缓存(SQLite持久化),响应速度提升 10-30 倍
  • 工具调用能力:时间查询、台风查询、国保查询,突破 LLM 能力边界,100% 准确响应结构化数据
  • 零运维负担:不依赖外部向量数据库,单文件 SQLite 即可运行,备份迁移极其简单
  • 智能上下文记忆:支持多轮对话,AI 能理解"它"、"这个"等代词指代

🏗️ 技术架构

🎯

PingRouter智能路由引擎

问题分类 + 路由决策 + 工具调度,自动判断问题类型,选择最佳检索方式(笔记检索或工具调用)

🔍

双重检索机制

关键词检索(LIKE精确匹配专有名词)+ 向量语义检索(理解语义上下文),file_path去重,双标准排序

⚡

双重缓存机制

第一层:本地缓存(内存)- 相同问题直接返回,< 0.1秒,0费用
第二层:云端缓存(SQLite)- 持久化存储,跨会话复用
✓ 类似CPU的L1/L2缓存设计理念

🔧

PingRouterTools工具集

时间查询(当前时间/日期/星期)、台风查询(按年份/编号/名称)、国保查询(按批次/省份/名称)

📊

向量化系统

使用阿里云 DashScope text-embedding-v4 模型,1024 维高质量向量表示

💾

SQLite 向量存储

创新性地使用 BLOB 字段存储向量,通过 SQL 函数实现高效的余弦相似度计算

🔄

增量更新机制

MD5 哈希检测文件变化,只处理新增或修改的内容,避免重复向量化

💬

上下文记忆

会话历史管理,保留最近 5 轮对话,支持自然的多轮交互

🔒

隐私保护

敏感信息分级回答机制,内部用户直接访问,外部用户需口令解锁

💡 技术创新

  • PingRouter智能路由架构 创新性地整合了PingRouterRAG技术(笔记检索)和PingRouterTools技术(工具调用)。通过触发关键词机制自动判断问题类型:语义类问题走RAG检索,工具类问题直接调用工具,让AI既能理解语义,又能精确查询实时数据。
  • 双重检索机制(关键词+向量) 突破传统向量检索的局限,采用关键词精确匹配(LIKE)和向量语义理解的双重策略。关键词检索擅长专有名词精确匹配,向量检索擅长语义理解,两者结合确保检索准确率 > 95%。
  • 双重缓存架构(Two-level Cache) 采用业界标准的多层缓存设计理念:第一层本地缓存(内存)存储完整问答对,相同问题响应时间 < 0.1秒,API成本为0;第二层云端缓存(SQLite)持久化存储,跨会话复用。这种设计与计算机CPU的L1/L2缓存理念一致,是系统性能优化的经典做法。
  • 打破常规的向量存储方案 不使用 Milvus、Pinecone 等专业向量数据库,而是利用 SQLite 的 BLOB 字段存储高维向量,硬件要求从 8GB RAM 降低到 1GB RAM,年成本从 ¥15,600 降低到 ¥600,节省 96%。
  • 智能增量向量化 通过 MD5 哈希比对文件内容,自动识别新增、修改、删除的文件,只处理变化的内容。第二次构建索引速度提升 95%+,API 调用成本降低 99%。
  • 工具调用突破LLM边界 LLM不知道当前时间、无法查询实时数据库。通过PingRouterTools工具集(时间查询、台风查询、国保查询),让AI能够精确响应结构化数据查询,准确率100%。
  • 轻量级 RAG 架构 整个系统不依赖 Redis、Elasticsearch 等外部服务,单文件数据库 + Python 脚本即可运行,部署时间从 1-2 天缩短到 10 分钟。
  • 分级隐私保护 敏感信息采用分级回答机制:内部用户(本地访问)直接获取简单答案,外部用户需要输入口令才能解锁详细信息,兼顾安全性和可用性。
  • 低成本多轮对话 上下文记忆功能通过智能截断和 token 预算管理,在支持 5 轮对话的同时,token 消耗仅增加 30%,成本控制在合理范围。

🛠️ 技术栈

Python Flask SQLite DashScope Embedding DeepSeek API LangChain NumPy Docker Gunicorn JavaScript

📖 工作流程

1️⃣ 知识入库阶段

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

2️⃣ 智能路由阶段

用户问题 → 问题分类 → 工具路由判断(PingRouterTools)→ 笔记检索(PingRouterRAG)→ 选择最佳响应方式

3️⃣ 问答执行阶段

工具类问题:时间查询/台风查询/国保查询 → 直接返回精确结果
语义类问题:双重检索(关键词+向量)→ 缓存检查 → 构建 Prompt → DeepSeek 生成回答 → 返回结果

4️⃣ 上下文管理

获取会话历史 → 检查 token 长度 → 智能截断 → 注入 messages 数组 → 保持对话连贯性

📊 性能指标

⚡

检索速度

1000 条向量:2-5ms
10000 条向量:20-50ms

💰

API 成本

单次向量化:¥0.0007
增量更新节省:99%

📦

存储效率

单条向量:4KB
10万向量:400MB

🎯

准确率

语义匹配准确率 > 85%
支持中英文双语

🚀 未来规划

  • 扩展更多工具 添加天气查询(和风天气API)、计算器(数学运算/单位转换)、翻译工具(多语言翻译),丰富PingRouterTools工具集
  • 智能摘要 当历史对话过长时,使用 AI 生成对话摘要,进一步节省 token 消耗
  • AI意图识别 使用LLM判断用户意图,支持更复杂的问题分类和多工具组合调用
  • 多模态支持 支持图片、PDF 等多媒体内容的向量化和检索
  • 知识库自动分类 使用 AI 自动为笔记添加标签和分类,提升检索精度
  • 对话历史管理 支持查看、搜索、恢复历史会话,方便知识回顾
  • 工具性能监控 添加工具执行日志、性能监控、使用统计,优化路由决策

ℹ️ 项目信息

开发者:白毅平(BYP)

项目类型:个人研究项目

技术方向:RAG、向量检索、AI 应用开发

部署方式:Docker 容器化部署

服务器配置:2核 CPU / 1.8GB RAM / 40GB 磁盘(阿里云 Xeon Platinum)

🗄️ 数据存储

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

📊

向量数据

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

💬

对话记录

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

⚡

缓存数据

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

🔒

安全机制

口令解锁记录、IP 黑名单,保障系统安全

💡 设计优势:不依赖外部数据库服务,单文件即可运行,备份迁移极其简单。更新笔记向量时,只需替换向量数据,对话记录和缓存保持不变。