食谱搜索聊天机器人

一个基于Azure OpenAI和MCP服务器的对话式食谱搜索工具,帮助用户通过食材或名称查找食谱并提供详细烹饪步骤。

  • by purunep
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 purunep/streamble-http-mcp-client

使用说明

美食食谱客户端

这个项目是一个对话聊天机器人,可以帮助用户找到食物食谱,按食材搜索,并获得详细的烹饪说明。它利用微软语义内核、Azure OpenAI和一个用于食品食谱的自定义MCP(模型上下文协议)服务器。

此客户端旨在与 可流式传输的http-mcp服务器.


UI示例

您还可以构建一个基于web的UI来与MCP服务器聊天,提供更具交互性的体验。UI可以帮助用户:

  • 按名称查找食谱
  • 根据食材推荐食谱
  • 获取详细的烹饪说明
  • 显示所有可用食谱

下面是一个这样的UI示例:


特性

  • 对话式聊天机器人界面
  • 使用Azure OpenAI进行自然语言理解
  • 通过HTTP与食品配方MCP服务器集成
  • 支持:
    • 列出所有可用食谱
    • 按配料搜索食谱
    • 按名称搜索食谱
    • 提供用户友好、格式化的响应

先决条件

  • Python 3.8+
  • Azure OpenAI资源(API密钥、端点、部署)
  • 访问正在运行的Food Recipe MCP服务器

安装

  1. 克隆此存储库或复制项目文件。
  2. 安装依赖项:
    pip install -r requirements.txt
    

配置

创建一个 .env 项目目录中的文件,包含以下变量:

AZURE_OPENAI_API_KEY=your-azure-openai-api-key
AZURE_OPENAI_ENDPOINT=your-azure-openai-endpoint
AZURE_OPENAI_DEPLOYMENT_NAME=your-azure-openai-deployment-name
AZURE_OPENAI_API_VERSION=your-azure-openai-api-version
FOOD_MCP_SERVER_URL=http://your-mcp-server-url
  • AZURE_OPENAI_API_KEY:您的Azure OpenAI API密钥
  • AZURE_OPENAI_ENDPOINT:您的Azure OpenAI端点URL
  • AZURE_OPENAI_DEPLOYMENT_NAME:Azure OpenAI模型的部署名称
  • AZURE_OPENAI_API_VERSION:API版本(例如。, 2024-02-15-preview)
  • FOOD_MCP_SERVER_URL:您的食谱MCP服务器的URL

用法

使用以下命令运行聊天机器人:

python foodRecipeClient.py

您将看到:

Welcome to the Food Recipe chat bot!
  Type 'exit' to exit.

键入您的问题或请求,例如:

  • “给我看看所有的食谱。”
  • “我可以用鸡肉和米饭做什么?”
  • “找一个叫‘意大利肉酱面’的食谱。”

类型 exit 退出聊天。

运作原理

  • 聊天机器人使用Azure OpenAI来解释用户输入,并决定何时调用MCP工具。
  • 以下MCP工具可用:
    1. get_recipes:列出所有食谱
    2. search_recipe_by_ingredients:按食材查找食谱
    3. get_recipe_by_name:按食谱名称查找食谱
  • 机器人总是使用这些工具来获取准确的信息,从不编造食谱。
  • 响应的格式是为了可读性,并解释了成分匹配。

项目结构

  • foodRecipeClient.py:主要聊天机器人客户端
  • requirements.txt:Python依赖关系
  • pyproject.toml:项目元数据

故障排除

  • 确保在中设置了所有环境变量 .env.
  • 请确保您的Azure OpenAI和MCP服务器凭据正确。
  • 如果遇到导入错误,请检查是否安装了所有依赖项。

许可证

该项目根据MIT许可证获得许可。您可以随意使用、修改、分叉或改进此项目。

请参阅 许可证 文件以获取完整的许可证文本。