FastAPI后端开发Skill backend-fastapi

这是一个基于FastAPI框架的后端开发技能,专注于构建支持RAG(检索增强生成)功能的智能聊天机器人后端服务。核心功能包括:实现聊天端点处理用户查询、利用Qdrant向量数据库进行语义检索、集成大语言模型(如Gemini/OpenAI)生成智能回复,以及通过依赖注入管理应用组件。关键词:FastAPI后端开发,RAG应用,智能聊天机器人,向量数据库Qdrant,API接口设计,依赖注入,Python后端架构。

后端开发 0 次安装 0 次浏览 更新于 3/1/2026

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 (查询、历史记录、用户上下文)。
  • 处理流程:
    1. 嵌入查询。
    2. 搜索Qdrant (search_qdrant)。
    3. 构建提示词 (build_rag_prompt)。
    4. 生成智能体(Agent)响应。
  • 输出: ChatResponse (答案、上下文)。

POST /api/ask-selection

  • 目的: 针对选定文本的定向问答。
  • 输入: AskSelectionRequest (问题、选定的文本)。
  • 处理流程:
    1. 验证选定文本长度。
    2. 构建特定于选定文本的提示词。
    3. 特定的智能体(Agent)指令。

依赖项与工具

  • backend/utils/config.py: Qdrant向量数据库初始化。
  • backend/utils/helpers.py: 嵌入和提示词构建逻辑。
  • backend/models.py: OpenAI/Gemini客户端设置。

环境变量

  • GEMINI_API_KEY: 用于LLM和嵌入模型。
  • QDRANT_URL, QDRANT_API_KEY: 向量数据库连接配置。