智能对话代理系统

一个基于多工具集成和记忆对话的智能对话代理系统,支持特定任务处理和通用对话。

  • by anik2644
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 anik2644/mcp_practice_with_tools

使用说明

代理人工智能系统

该项目实现了一个智能会话代理,能够通过多种工具处理用户查询,并回退到基于内存的聊天系统。它与LLM(大型语言模型)集成,并使用各种工具执行特定任务,如获取当前时间、个人详细信息,甚至搜索酒店。如果没有特定的工具适用,系统将使用内存回退到一般对话。

特性

  • 多工具支持:代理根据用户查询选择合适的工具。工具包括 get_current_time, get_my_address, find_hotels以及其他。
  • 回退到MCP聊天:如果没有找到特定的工具,代理将切换到由内存驱动的交互式聊天,以进行一般查询。
  • 基于记忆的对话:利用 MCPAgent 保持对话的上下文。
  • 与HuggingFace模型集成:该系统与HuggingFace模型集成,用于复杂的自然语言理解。

使用的技术

  • python:用于构建系统的核心语言。
  • LangChain:用于构建基于语言的应用程序的框架,用于集成大型语言模型(LLM)。
  • HuggingFace API:提供对强大的预训练模型的访问,如 zephyr-7b-beta.
  • MCPAgent:基于记忆的会话代理。
  • Dotenv。:管理API密钥管理和配置的环境变量。
  • 异步:用于异步操作,以同时处理多个查询。

使用的MCP服务器

该系统集成了以下MCP服务器:

MCP服务器 用途
剧作家 使用Playwright处理基于浏览器的自动化任务。
鸭式搜索 使用DuckDuckGo执行网络搜索。
Airbnb 检索Airbnb房源和相关信息。

LLM集成

该系统使用 google/flan-t5-base 基于HuggingFace的语言理解和反应生成模型 pipeline API

先决条件

要在本地运行此项目,您需要以下内容:

  • Python 3.7或更高版本
  • HuggingFace的环境设置(令牌和模型仓库访问)