开发与工程 fastapilanggraphllm-backendlong-term-memoryobservabilityjwt-authdocker

FastAPI LangGraph Agent 生产就绪模板

开箱即用的 AI Agent 后端模板,集成了 LangGraph、长期记忆、可观测性与认证。

FollowAgents 评估 · FARS-2.1
不推荐
41/ 100 五分制 2.1 / 5
1 2 3 4 5 6
1信任安全8 / 29 · 1.4/5

证据显示:README 和 SECURITY.md 提到 JWT 认证、速率限制、CORS 配置、密码 bcrypt 哈希、输入消毒,但未提供具体实现细节。依赖项包括多个包,但未提供漏洞扫描或固定版本(除 langfuse 外)。外部效果:模板会调用外部 LLM API 和 Langfuse 追踪,但未明确说明数据流向。回滚:未提及。来源归属:未验证发布者身份。扣分原因:缺少具体实现证据,依赖安全未充分处理,外部效果和数据流透明度不足。

2可靠稳定6 / 14 · 2.1/5

证据显示:README 和 pyproject.toml 中依赖项一致,但未提供测试结果。依赖可用性:依赖项众多,但未提供锁定文件或版本范围。失败消息:文档提到重试和回退,但未提供具体错误消息。扣分原因:缺乏测试证据,依赖可用性未充分保证,失败消息未具体化。

3适用触发9 / 18 · 2.5/5

证据显示:README 明确目标受众为 AI 工程师,并列出多种使用场景。能力边界:文档提到支持 OpenAI 和计划中的多提供商,但未明确限制。触发精度:未提供具体触发条件。环境适配:提供 Docker 和本地开发说明,但未提供所有环境的详细配置。扣分原因:能力边界和触发精度不明确。

4规范维护8 / 18 · 2.2/5

证据显示:README 提供清晰的项目结构、安装步骤、FAQ 和文档链接。命名稳定性:未提及。已知限制:FAQ 提到仅支持 OpenAI,但未全面列出。许可证:MIT 许可证存在。版本控制:pyproject.toml 有版本号,但无变更日志。维护责任:SECURITY.md 提到维护者,但未明确。扣分原因:缺少变更日志和已知限制不全面。

5有效结果7 / 13 · 2.7/5

证据显示:README 描述输出为 API 端点,但未提供具体输出格式。边际价值:模板提供多种生产功能,但未与现有方案对比。成本效益:未提供性能或成本数据。扣分原因:输出可用性未具体化,成本效益缺乏数据。

6证据核验3 / 8 · 1.9/5

证据显示:README 中的声明部分有文档支持,但未提供外部验证。交叉来源:未提供。事实与推断分离:文档中区分了事实和计划,但不够清晰。扣分原因:缺乏外部验证和清晰的分离。

证据充分度: 评估于 2026年8月12日 审查版本 36e9c33682a5
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
源码中未见的安全控制:执行前用户确认、回滚或恢复路径
使用前请注意
  • 发布者身份未验证,需谨慎对待。
  • 依赖项未固定版本,存在供应链风险。
  • 外部 LLM 和 Langfuse 调用可能涉及数据外传,需明确数据流。
  • 未提供测试结果,可靠性存疑。
评估证据 [1][2][3][4][5][6]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

FastAPI LangGraph Agent 模板是一个生产级后端起点,用于构建 AI Agent 服务。它处理了状态化对话、长期记忆(通过 mem0 和 pgvector)、工具调用、可观测性(Langfuse、Prometheus、Grafana)、速率限制和 JWT 认证,使开发者可以专注于 Agent 逻辑。该模板包含 LLMRegistry 服务,支持循环回退和指数退避重试,并通过 OpenAI 兼容端点(如 Atlas Cloud)工作。项目提供 Alembic 迁移、可选的 Valkey/Redis 缓存层、结构化日志,以及详细的文档(包括架构、配置和评估)。它适用于 Docker Compose 或本地开发,并附带 Makefile 命令。

启动时会初始化 FastAPI 应用,暴露 /docs 端点下的 API 路由,并连接 PostgreSQL 数据库(通过 SQLModel ORM,带 Alembic 迁移)。Agent 图定义在 app/core/langgraph/ 中,支持带 checkpointing 的状态化对话和工具调用;工具可以添加到 app/core/langgraph/tools/。LLM 调用通过 LLMRegistry,使用 langchain_openai.ChatOpenAI,并配置了 DEFAULT_LLM_MODELOPENAI_BASE_URLOPENAI_API_KEY 环境变量;服务在发生故障时会在模型间循环回退,并应用总超时预算。长期记忆由进程内 mem0 提供,并持久化到 PostgreSQL,使用 pgvector 进行语义搜索。所有 LLM 调用都会通过 Langfuse 追踪,Prometheus 暴露指标。JWT 认证用于会话管理,slowapi 实现速率限制。还提供评估框架(evals/)。

  1. AI 工程师希望在几小时内搭建一个生产级 Agent 后端,而不是从零开始集成所有组件
  2. 团队需要为多个用户提供具有长期语义记忆的 Agent,而不依赖外部记忆云服务
  3. 希望在 Langfuse、Prometheus 和 Grafana 中追踪完整 LLM 调用链的开发团队
  4. 需要带会话和速率限制的 JWT 认证后端,并快速搭建状态化对话
  5. 希望基于单一 OpenAI 兼容端点(如 Atlas Cloud)尝试不同 LLM 的工程师
  6. 需要一个包含 Docker、数据库迁移和监控栈的完整模板,用于快速项目启动

这个 Agent 有哪些优点和局限?

优点
  • 包含全套生产组件:Alembic 迁移、mem0+pgvector 长期记忆、Langfuse 追踪、Prometheus/Grafana 指标、JWT 会话和 slowapi 速率限制,无需额外组装
  • LLM 服务具有指数退避重试和循环回退机制,确保高可用性
  • 通过 Atlas Cloud 支持 59 种以上的 OpenAI 兼容模型,可快速切换模型
  • 提供了从架构、配置到评估的全面文档,降低了上手难度
局限
  • 目前仅原生支持 OpenAI 兼容 API;多提供商支持(如 Anthropic、Google)仍在计划中(issue #51),需要额外适配
  • 长期记忆依赖 PostgreSQL + pgvector,需要数据库管理开销
  • 生产环境需要 JWT、缓存、监控等额外组件,可能超出简单项目的需求
  • 当前主要支持 OpenAI 提供方,若想使用其他提供方(Anthropic、Google)可能需要等待更新或自行修改代码

如何安装或部署这个 Agent?

克隆仓库并进入目录,然后复制 .env.example.env.development 并填入密钥(OPENAI_API_KEY 或 Atlas Cloud 凭证,以及数据库配置)。确保 Docker 已安装,然后运行 make installmake docker-up 来启动 API 和 PostgreSQL。对于本地开发,请参阅 docs/getting-started.md

如何使用这个 Agent?

启动 Docker 后,访问 [http://localhost:8000/docs](http://localhost:8000/docs) 查看交互式 API 文档。应用迁移:make migrate。设置环境变量 DEFAULT_LLM_MODEL 以选择模型。可以通过在 app/core/langgraph/tools/ 中添加 LangChain 装饰的工具,并在该包的 tools 列表中注册,来添加自定义工具,无需修改图。使用 Langfuse 进行追踪,设置 LANGFUSE_TRACING_ENABLED=false 可禁用。有关完整配置,请参阅 docs/configuration.md

常见问题

此模板是否支持非 OpenAI 模型(如 Anthropic 或 Google)?
当前仅支持 OpenAI 兼容的 API(通过 LLMRegistry 使用 langchain_openai.ChatOpenAI)。多提供方支持计划在 issue #51 中实现。
长期记忆是否需要单独的 mem0 云账户?
不需要。长期记忆是自托管的,mem0 在进程内运行并持久化到现有的 PostgreSQL(通过 pgvector)。只需提供有效的 OPENAI_API_KEY 用于事实提取和嵌入。
是否可以禁用 Langfuse 追踪?
可以,设置 LANGFUSE_TRACING_ENABLED=false 或省略 Langfuse 密钥即可。结构化日志仍会捕获请求/会话/用户上下文。
如果 API 无法启动,可能的原因是什么?
请确保 PostgreSQL 正在运行(make docker-up 会同时启动),.env.development 存在并包含必要密钥,且已运行 make migrate 应用迁移。
如何调整速率限制策略?
速率限制在 app/core/limiter.py(slowapi)中配置。您可以调整路由装饰器或默认速率,相关环境变量在 docs/configuration.md 中有说明。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents