logo
0
0
Login
feat: add RAG

RAG-QA 项目

基于 RAG (Retrieval-Augmented Generation) + FAISS 的问答系统示例,支持向量检索和生成式回答。

项目目录

app/ ├── __init__.py ├── main.py # FastAPI 主程序 ├── models.py # 模型定义 ├── retriever.py # FAISS 检索逻辑 └── utils.py # 工具函数 data/ ├── docs/ # 文档源文件 │ ├── faiss_intro.txt │ └── rag_intro.txt └── faiss/ # 索引文件 ├── index.faiss └── texts.pkl Dockerfile requirements.txt .cnb.yml

功能说明

  1. 文档管理:将需要检索的文档放在 data/docs/ 下。
  2. 向量索引:FAISS 构建向量索引,实现高效向量检索。
  3. 问答接口:通过 /query 接口接收问题,返回生成答案。
  4. 可视化流程:使用 Mermaid 流程图直观展示整个问答流程。

快速启动

# 确保 data/docs 下有文档 mkdir -p data/docs echo "RAG 是结合检索与生成的问答方法" > data/docs/rag_intro.txt echo "FAISS 是向量检索引擎" > data/docs/faiss_intro.txt # 使用 Docker 启动 docker build -t rag-qa . docker run -it --rm -p 8000:8000 -v $(pwd)/data:/app/data rag-qa # 测试 API curl -X POST http://localhost:8000/query \ -H "Content-Type: application/json" \ -d '{"question": "什么是 RAG?"}'

流程图

系统架构