Skip to content
On this page

service/ai 技术文档总览

对应代码:service/ai/(全模块)


模块架构图

                         ┌─────────────────────────────────────┐
                         │          HTTP 路由层(routes/ai.py)  │
                         └───────────────┬─────────────────────┘

          ┌──────────────────────────────┼──────────────────────────────┐
          │                              │                              │
  ┌───────▼───────┐              ┌───────▼───────┐             ┌───────▼────────┐
  │  RAG 问答层    │              │  Agent 工作流   │             │   工具能力层    │
  │  (02_rag)     │              │  (04_agent)    │             │   (08_tools)   │
  └───────┬───────┘              └───────┬───────┘             └───────┬────────┘
          │                              │                              │
  ┌───────▼───────┐              ┌───────▼───────┐             ┌───────▼────────┐
  │  知识库管理层  │              │  A2A 协议层    │             │   MCP 工具集    │
  │ (03_knowledge)│              │   (05_a2a)    │             │   (06_mcp)     │
  └───────┬───────┘              └───────────────┘             └────────────────┘

  ┌───────▼───────┐
  │   向量库层     │
  │ (01_vector_db)│
  └───────────────┘

  ┌───────────────┐  ┌────────────────┐  ┌──────────────────┐
  │   对话能力层   │  │   微调实验层    │  │ (独立:无 HTTP) │
  │   (07_chat)   │  │ (09_finetuning)│  │                  │
  └───────────────┘  └────────────────┘  └──────────────────┘

文档索引

序号文档对应代码核心技术
01向量库层vector_db.pyFAISS IndexIDMap、双存储同步、增量 Embedding
02RAG 检索增强生成层rag.pyrag_enhance.pyQuery 改写(CASEA)、DashScope Rerank、流水线可观测性
03知识库管理层knowledge.py多格式文档解析、分段策略、上传与向量化解耦
04LangGraph 多 Agent 工作流层agent/StateGraph、三种 Agent 范式、动态图可视化
05A2A 协议层a2a/Google A2A Protocol、Task 生命周期、多 Agent 编排
06MCP 工具集层mcp/Model Context Protocol、ChatPPT、SSL 重试
07对话能力层chat.pyollama_chat.py本地 Ollama、流式 SSE、OCR 视觉去重
08工具能力层function_call.pytext2sql.pytts.pystt.pyimage_gen.pyFunction Calling、Text2SQL、Edge-TTS、Whisper、SDXL
09模型微调实验层finetuning/LoRA/QLoRA、GRPO/R1、Unsloth、视觉微调

模块间依赖关系

知识库管理层 (03)
  └── 调用 → 向量库层 (01)

RAG 问答层 (02)
  ├── 调用 → 向量库层 (01)(检索)
  └── 调用 → 知识库管理层 (03)(寻址知识库 ID)

Agent 工作流层 (04)
  ├── 可调用 → RAG(知识库问答 Agent)
  └── 可调用 → 工具能力层 (08)(天气、SQL 等工具)

A2A 协议层 (05)
  └── 独立(通过 HTTP 调用外部 Agent 服务)

MCP 工具集层 (06)
  └── 独立(通过 MCP 协议调用外部工具服务)

对话能力层 (07)
  └── 独立(直接调 Ollama / DashScope API)

工具能力层 (08)
  └── 独立(各工具相互独立)

微调实验层 (09)
  └── 独立(离线训练脚本,不提供 HTTP 接口)

核心技术栈

类别技术
向量检索FAISS(IndexFlatL2 + IndexIDMap)、NumPy
EmbeddingDashScope text-embedding-v4(1024 维)
LLM 推理(云端)DashScope(qwen-turbo、qwen3-rerank 等)
LLM 推理(本地)Ollama(DeepSeek-R1、Qwen3-VL、自定义模型)
Agent 编排LangGraph StateGraph、LangChain
跨 Agent 通信Google A2A Protocol、Pydantic 强类型
工具协议Anthropic MCP(qwen-agent Assistant 作为 Client)
文档解析PyPDF2、python-docx、python-pptx、openpyxl、Tesseract OCR
语音合成(TTS)Edge-TTS(zh-CN-XiaoxiaoNeural
语音识别(STT)faster-whisper(本地 base 模型)
图像生成diffusers(SDXL)、DiffSynth(Qwen-Image)
模型微调Unsloth + LoRA/QLoRA + TRL(SFTTrainer/GRPOTrainer)
Web 框架Flask + SSE(流式推送)+ WebSocket(实时语音)
数据库MySQL(SQLAlchemy ORM)

成果展示

向量库层 (01)

向量库磁盘存储结构向量库双存储与数据流向量库检索流程

RAG 层 (02)

RAG 流水线示意RAG 检索与重排

知识库管理层 (03)

知识库三表结构文档解析与分段知识库上传流程向量化与索引更新知识库管理界面示意

LangGraph Agent 工作流层 (04)

LangGraph StateGraph 示意Agent 节点与边多 Agent 协作流程

A2A 协议层 (05)

A2A 协议与 Task 生命周期Orchestrator 编排流程

MCP 工具集层 (06)

MCP 协议与 ChatPPT 集成MCP 工具调用流程

工具能力层 (08) - Text2SQL

Text2SQL 流程示意

微调实验层 (09)

LoRA 微调流程SFT / GRPO 训练流程


快速导航

如何让 AI 回答业务知识库的问题03 知识库管理层 + 02 RAG 层 + 01 向量库层

LangGraph Agent 是怎么工作的04 Agent 工作流层

多个 AI Agent 如何协作05 A2A 协议层

让 AI 调用外部工具(PPT/天气/地图)06 MCP 工具集层 + 08 工具能力层

如何在本地跑 LLM 对话07 对话能力层

如何微调一个领域专用模型09 微调实验层

技术文档集合