购物清单聊天机器人

一个基于LangGraph和FastAPI的聊天机器人,能够通过聊天管理用户的购物清单。

  • by davidkiss
  • Python
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 davidkiss/langgraph-fastapi-mcp-server-demo

使用说明

LangGraph FastAPI MCP服务器演示

这是一个示例项目,它将购物清单FastAPI应用程序转换为MCP服务器,并将基于LangGraph的聊天机器人连接到MCP服务器,以便它可以通过聊天管理用户的购物清单。

技术栈

  • 快速 API:一个现代、快速(高性能)的web框架,用于使用Python 3构建API
  • FastAPI-MCP:一个开源库,将您的FastAPI端点作为模型上下文协议(MCP)工具(带Auth)公开
  • MCP(模型上下文协议):一种开放协议,促进人工智能模型与外部数据源或工具之间的无缝交互
  • LangChain:一个开源框架,帮助开发人员构建由大型语言模型(LLM)驱动的应用程序
  • **LangGraph**LangChain的开源框架,用于使用基于图的架构构建和管理复杂的AI代理
  • ChatGPT:OpenAI提供的流行法学硕士
  • 格拉迪奥:一个流行的开源库,用于为机器学习模型构建web界面。该项目使用Gradio为聊天机器人创建web界面。
  • **朗史密斯**LangChain的一个开源框架,用于跟踪和监控LLM应用程序。
  • 紫外线:一个快速开源的Python包管理器-一个直接的替代品 pip, conda 和 virtualenv.

快速开始

1.安装 uv

按照说明 这里 安装 uv如果你还没有。

2.安装依赖项

uv sync

3.设置OpenAI API密钥

创建一个 .env 项目根目录中的文件:

# .env
OPENAI_API_KEY=your-openai-api-key-here

4.运行FastAPI应用程序

uv run uvicorn server.main:app --host 0.0.0.0 --port 8000 --reload

请尝试使用FastAPI应用程序 http://localhost:8000/docs

5.运行聊天机器人

uv run chatbot.py

聊天机器人将在 http://localhost:7860

使用示例

在聊天机器人中尝试以下示例查询:

  • “我需要买个西瓜”,
  • “我的购物清单上有什么?”,
  • “我们加意大利面和番茄酱吧”,
  • “我刚买了西瓜”,
  • “去掉番茄酱”,
  • “我需要额外的意大利面条”,

依赖项

  • LangGraph:用于创建React代理
  • 格拉迪奥:用于聊天界面
  • LangChain OpenAI:用于语言模型集成
  • 朗链核心:用于工具定义
  • 快速 API:用于MCP服务器
  • SQL炼金术:用于数据库操作

许可证

这个项目是开源的,可以在MIT许可证下使用。