name: backend-fastapi description: FastAPI后端文档,包含端点接口和依赖注入说明。
后端架构 (FastAPI)
概述
后端是一个位于 backend/ 目录下的 FastAPI 应用程序。它为聊天机器人和RAG功能提供支持。
入口点
- 文件:
backend/main.py - 运行:
uvicorn backend.main:app --reload(或通过npm run dev) - 端口: 默认
8000。
端点接口
POST /api/chat
- 目的: 主要的RAG聊天端点。
- 输入:
ChatRequest(查询、历史记录、用户上下文)。 - 处理流程:
- 嵌入查询。
- 搜索Qdrant (
search_qdrant)。 - 构建提示词 (
build_rag_prompt)。 - 生成智能体(Agent)响应。
- 输出:
ChatResponse(答案、上下文)。
POST /api/ask-selection
- 目的: 针对选定文本的定向问答。
- 输入:
AskSelectionRequest(问题、选定的文本)。 - 处理流程:
- 验证选定文本长度。
- 构建特定于选定文本的提示词。
- 特定的智能体(Agent)指令。
依赖项与工具
backend/utils/config.py: Qdrant向量数据库初始化。backend/utils/helpers.py: 嵌入和提示词构建逻辑。backend/models.py: OpenAI/Gemini客户端设置。
环境变量
GEMINI_API_KEY: 用于LLM和嵌入模型。QDRANT_URL,QDRANT_API_KEY: 向量数据库连接配置。