© 2026FindAgent  · @simprr
返回列表
J

JoshuaC215/agent-service-toolkit

Full toolkit for running an AI agent service built with LangGraph, FastAPI and Streamlit

agentslanggraphstreamlit
⭐

4.2k

Stars

🔱

688

Forks

👁

38

Watchers

📋

19

Issues

PythonMIT创建于 2024/8/4更新于 今天
在 GitHub 上查看访问主页
README
由 Gemini 翻译整理

🧰 AI Agent Service Toolkit

build status codecov Python Version GitHub License Streamlit App

这是一个用于运行 AI Agent 服务的完整工具包,基于 LangGraph、FastAPI 和 Streamlit 构建。

它包含一个 LangGraph Agent、一个用于提供服务的 FastAPI 服务、一个与服务交互的客户端,以及一个使用该客户端提供聊天界面的 Streamlit 应用。数据结构和设置均使用 Pydantic 构建。

本项目提供了一个模板,方便你使用 LangGraph 框架轻松构建和运行自己的 Agent。它展示了从 Agent 定义到用户界面的完整架构,通过提供一套成熟、稳健的工具包,让你能够更轻松地上手基于 LangGraph 的项目。

🎥 观看仓库和应用的视频演示

概览

立即体验应用!

快速开始

在 Python 中直接运行:

# 至少需要一个 LLM API key
echo 'OPENAI_API_KEY=your_openai_api_key' >> .env

# uv 是安装 agent-service-toolkit 的推荐方式,但 "pip install ." 也可以
# 有关 uv 的安装选项,请参阅: https://docs.astral.sh/uv/getting-started/installation/
curl -LsSf https://astral.sh/uv/0.7.19/install.sh | sh

# 安装依赖。"uv sync" 会自动创建 .venv
uv sync --frozen
source .venv/bin/activate
python src/run_service.py

# 在另一个终端中
source .venv/bin/activate
streamlit run src/streamlit_app.py

使用 Docker 运行:

echo 'OPENAI_API_KEY=your_openai_api_key' >> .env
docker compose watch

架构图

(此处应有架构图)

主要特性

  1. LangGraph Agent 及最新功能:使用 LangGraph 框架构建的可自定义 Agent。实现了 LangGraph v1.0 的最新功能,包括通过 interrupt() 实现的人机协同(Human in the loop)、通过 Command 实现的流控制、通过 Store 实现的长期记忆以及 langgraph-supervisor。
  2. FastAPI 服务:提供支持流式(Streaming)和非流式响应的 Agent 服务端点。
  3. 高级流式处理:一种支持基于 Token 和基于消息流式传输的创新方法。
  4. Streamlit 界面:为与 Agent 交互提供用户友好的聊天界面,支持语音输入和输出。
  5. 多 Agent 支持:支持在服务中运行多个 Agent,并通过 URL 路径调用。可在 /info 查看可用 Agent 和模型。
  6. 异步设计:利用 async/await 高效处理并发请求。
  7. 内容审查:实现了用于内容审查的 Safeguard(需要 Groq API key)。
  8. RAG Agent:使用 ChromaDB 实现的基础 RAG Agent - 详见 文档。
  9. 反馈机制:集成 LangSmith 的星级评价反馈系统。
  10. Docker 支持:包含 Dockerfile 和 docker-compose 文件,便于开发和部署。
  11. 测试:包含覆盖整个仓库的稳健单元测试和集成测试。

核心文件说明

仓库结构如下:

  • src/agents/: 定义了多个具备不同能力的 Agent
  • src/schema/: 定义协议 Schema
  • src/core/: 核心模块,包括 LLM 定义和设置
  • src/service/service.py: 用于提供 Agent 服务的 FastAPI 服务
  • src/client/client.py: 用于与 Agent 服务交互的客户端
  • src/streamlit_app.py: 提供聊天界面的 Streamlit 应用
  • tests/: 单元测试和集成测试

安装与使用

  1. 克隆仓库:

    git clone https://github.com/JoshuaC215/agent-service-toolkit.git
    cd agent-service-toolkit
    
  2. 设置环境变量: 在根目录下创建 .env 文件。至少需要一个 LLM API key 或相关配置。有关可用环境变量的完整列表,请参考 .env.example 文件,其中包含各种模型提供商的 API key、基于 Header 的认证、LangSmith 追踪、测试和开发模式,以及 OpenWeatherMap API key。

  3. 现在你可以运行 Agent 了。

贡献者
Jgxaptmraf
项目信息
默认分支main
LicenseMIT License
创建时间2024/8/4
最近更新今天
GAI 中文摘要

agent-service-toolkit 是一个基于 Python 构建的全栈 AI Agent 服务工具包,整合了 LangGraph、FastAPI 和 Streamlit 等主流技术栈。它旨在为开发者提供一套开箱即用的模板,解决从代理逻辑构建、后端服务部署到前端界面交互的全链路工程化问题。

内置基于 LangGraph 框架构建的定制化 AI 代理,支持中断机制、多代理协调及长期记忆管理等高级功能。 提供配套的 FastAPI 服务接口,全面支持流式与非流式数据传输,并具备处理高并发请求的异步架构。 配套提供 Streamlit 交互式聊天界面,支持语音输入与输出,为用户提供直观的操作体验。 支持多代理同时部署,开发者可通过 URL 路径灵活调用不同的模型或代理配置。 使用 Pydantic 进行数据结构化定义与配置管理,确保项目在开发与生产环境中的健壮性。

该工具包适用于希望快速搭建并部署生产级 AI 代理的开发者,特别适合需要构建具备复杂逻辑、实时交互和多模型管理场景的企业级应用或个人原型项目。