fastapi-langgraph-agent-production-ready-template:基于 FastAPI 与 LangGraph 的 AI 代理应用项目

A production-ready FastAPI template for building AI agent applications with LangGraph integration. This template provides a robust foundation for building scalable, secure, and maintainable AI agent services.

分支1Tags0
文件最后提交记录最后更新时间
4 个月前
2 个月前
4 个月前
2 个月前
2 个月前
2 个月前
4 个月前
1 年前
1 年前
2 个月前
4 个月前
1 年前
2 个月前
4 个月前
1 年前
4 个月前
1 年前
4 个月前
2 个月前
4 个月前
2 个月前
1 年前
2 个月前
3 个月前
4 个月前
4 个月前
4 个月前
4 个月前
4 个月前

FastAPI LangGraph 智能体模板

一个可用于生产环境的模板,用于构建基于 FastAPI 和 LangGraph 的 AI 智能体后端。它处理了复杂的部分——有状态对话、长期记忆、工具调用、可观测性、速率限制、身份验证——让您可以专注于智能体逻辑。

专为 AI 工程师打造,他们需要的是坚实的基础,而非教程项目。

包含内容

  • LangGraph 有状态智能体,支持检查点、工具调用和人在回路
  • 通过 mem0 + pgvector 实现的长期记忆——按用户进行语义搜索,支持缓存
  • LLM 服务,具有循环模型回退、指数退避重试和总超时预算
  • 所有 LLM 调用均支持 Langfuse 追踪;Prometheus 指标 + Grafana 仪表板
  • 带会话管理的 JWT 身份验证;通过 slowapi 实现的速率限制
  • Alembic 迁移;可选的 Valkey/Redis 缓存层
  • 结构化日志,每行日志均包含请求/会话/用户上下文

快速开始

git clone <repo-url> my-agent && cd my-agent
cp .env.example .env.development   # fill in your keys
make install
make docker-up                     # starts API + PostgreSQL

打开 http://localhost:8000/docs 查看交互式 API。

如需不使用 Docker 进行本地开发,请参见 docs/getting-started.md

文档

指南 涵盖内容
快速开始 先决条件、本地设置、首次 API 调用
架构 系统设计、请求流程、组件图
配置 所有环境变量及其默认值
身份验证 JWT 流程、会话、端点参考
数据库与迁移 模式、Alembic 迁移、pgvector
LLM 服务 模型、重试、回退、超时预算
内存 mem0 长期内存、缓存层
可观测性 Langfuse、结构化日志、Prometheus、性能分析
评估 评估框架、自定义指标、报告
Docker Docker、Compose、完整监控堆栈

项目结构

app/
  api/v1/          # Route handlers
  core/
    langgraph/     # Agent graph + tools
    prompts/       # System prompt template
    cache.py       # Valkey/Redis + in-memory fallback
    config.py      # Settings
    middleware.py  # Metrics, logging context, profiling
    limiter.py     # Rate limiting
  models/          # SQLModel ORM models
  schemas/         # Pydantic request/response schemas
  services/        # LLM, database, memory services
alembic/           # Database migrations
evals/             # LLM evaluation framework

贡献指南

欢迎提交 PR。请先阅读 docs/getting-started.md 来配置开发环境,然后遵循 AGENTS.md 中的编码规范。

安全问题请私下报告——详见 SECURITY.md

许可证

详见 LICENSE

常见问题

基本信息

这个模板是什么? 这是一个基于 FastAPI + LangGraph 构建的生产级 AI 智能体后端基础框架。它集成了您原本需要手动搭建的各类组件:有状态对话、长期记忆、工具调用、可观测性、速率限制以及 JWT 认证。

它与基础的 LangGraph 配置有何不同? LangGraph 快速入门教程仅停留在“智能体本地运行”阶段。本模板额外添加了 Alembic 数据库迁移、mem0 + pgvector 长期记忆、Langfuse 追踪、Prometheus + Grafana 监控面板、JWT 会话管理、slowapi 速率限制、含请求上下文的结构化日志,以及循环回退 LLM 服务——这些都是您在生产环境中需要单独构建的关键功能。

设置与配置

我需要 Docker 吗? 推荐使用,但并非必需。make docker-up 命令可同时启动 API 和 PostgreSQL。如需纯本地设置,请参见 docs/getting-started.md

支持哪些 LLM 提供商? 目前:仅通过 app/services/llm/registry.py 中的 LLMRegistry 支持 OpenAI。计划通过 LangChain 的 init_chat_model 支持多提供商(Anthropic、Google、OpenRouter)——详见 #51。可通过 .env.development 文件中的 DEFAULT_LLM_MODEL 配置模型。

如何配置长期记忆? 长期记忆为自托管模式:mem0 在进程内运行,并通过 pgvector 持久化到您现有的 PostgreSQL 数据库中——无需单独的 mem0 云账户或 API 密钥。您只需提供有效的 OPENAI_API_KEY(用于事实提取和嵌入生成)并启用 pgvector 扩展即可。详情参见 docs/memory.md

开发相关

如何添加自定义工具? 将 LangChain @tool 装饰的函数放在 app/core/langgraph/tools/ 目录下,并在该包导出的 tools 列表中注册。智能体将在下次启动时自动加载该工具,无需修改图结构。

LLM 服务如何处理故障? 包含两层机制:(1) 通过 tenacity 实现的每调用指数退避重试;(2) 循环回退——如果当前活跃模型重试次数用尽,服务会自动切换到 LLMRegistry 中的下一个模型继续尝试。整个调用过程有总超时控制,以确保延迟可控。详见 docs/llm-service.md

可以不使用 Langfuse 吗? 可以。设置 LANGFUSE_TRACING_ENABLED=false(或不提供 Langfuse 密钥)即可。智能体仍可正常运行,结构化日志仍会捕获请求、会话和用户上下文。

故障排除

API 无法启动

  • 确保 PostgreSQL 正在运行(make docker-up 会将其与 API 一同启动)
  • 确认 .env.development 文件存在 — 从 .env.example 复制并填写必要的密钥
  • 应用迁移:make migrate

记忆/语义搜索无结果返回

  • 验证 PostgreSQL 实例中已启用 pgvector 扩展
  • 确认 OPENAI_API_KEY 有效(mem0 调用 OpenAI 进行事实提取和嵌入)
  • 检查 .env.development 中是否设置了 LONG_TERM_MEMORY_MODELLONG_TERM_MEMORY_EMBEDDER_MODEL

速率限制过于严格 限制在 app/core/limiter.py(slowapi)中定义。调整每条路由的装饰器或该文件中的默认速率。相关环境变量请参见 docs/configuration.md

项目介绍

一个可投入生产环境的 FastAPI 模板,用于构建集成 LangGraph 的 AI 智能体应用。该模板为构建可扩展、安全且易维护的 AI 智能体服务提供了坚实基础。【此简介由AI生成】

定制我的领域
132.63 K618访问 GitHub