article
README
🚀 FastMCP Godot Documentation RAG
FastMCP Godot Documentation RAG 是一个基于检索增强生成(RAG)的命令行助手,可用于查询和解读 Godot 引擎的官方文档。该项目借助 Hugging Face 语义向量模型和 FAISS 构建向量数据库,再通过 FastMCP 注册工具,结合 DeepSeek Chat API 返回结构化回答。
🚀 快速开始
运行概览
- 准备数据:将 Godot
.rst文档放入classes/,执行rst_to_markdown.py输出到godot_docs/md_new/。 - 切分文档:运行
markdown_split.py生成结构化的godot_docs/chunks.json。 - 构建索引:执行
embedding.py产生godot_docs/faiss_db/index.faiss和metadata.pkl。 - 启动助手:配置
DEEPSEEK_API_KEY(或在代码中内置的演示密钥),运行rag_fastmcp.py打开命令行助手。
完成以上步骤后,即可通过 FastMCP 接口或命令行与本地 Godot 文档知识库进行交互式问答。
✨ 主要特性
FastMCP Godot Documentation RAG 具备以下核心特性:
- 基于检索增强生成(RAG)技术,能够高效查询和解读 Godot 引擎官方文档。
- 使用 Hugging Face 语义向量模型和 FAISS 构建向量数据库,提升检索效率。
- 通过 FastMCP 注册工具,结合 DeepSeek Chat API 返回结构化回答,方便用户理解。
🔧 技术细节
核心流程
1. 文档预处理
rst_to_markdown.py:该脚本可批量将官方.rst文档转换为结构化 Markdown,同时保留信号、表格和章节信息。markdown_split.py:此脚本能够识别 Markdown 中的章节、表格、代码等内容类型,并将其切分成适合 RAG 的 JSON 片段。
2. 向量化与索引构建
embedding.py:该脚本会读取godot_docs/chunks.json,使用sentence-transformers/all-miniLM-L6-v2生成文本嵌入,并将结果写入本地 FAISS 索引与元数据文件。
3. 检索与回答
rag_fastmcp.py:该脚本会加载本地向量库与元数据,注册search_godot_docs和rag_answer两个 FastMCP 工具,从而实现文档检索与结合 DeepSeek API 的问答功能。
目录结构
godot_docs/:存放转换后的 Markdown、切分 JSON、FAISS 索引等数据资产。classes/:原始.rst文档集合,可作为数据转换输入。rst_to_markdown.py:批量 rst→md 转换脚本。markdown_split.py:Markdown 智能切分脚本。embedding.py:向量化与索引构建脚本。rag_fastmcp.py:加载索引并提供 FastMCP 工具与命令行入口。
Scan to join WeChat group