美食食谱客户端
这个项目是一个对话聊天机器人,可以帮助用户找到食物食谱,按食材搜索,并获得详细的烹饪说明。它利用微软语义内核、Azure OpenAI和一个用于食品食谱的自定义MCP(模型上下文协议)服务器。
此客户端旨在与 可流式传输的http-mcp服务器.
______________________________________________________________________
UI示例
您还可以构建一个基于web的UI来与MCP服务器聊天,提供更具交互性的体验。UI可以帮助用户:
- 按名称查找食谱
- 根据食材推荐食谱
- 获取详细的烹饪说明
- 显示所有可用食谱
下面是一个这样的UI示例:
______________________________________________________________________
特性
- 对话式聊天机器人界面
- 使用Azure OpenAI进行自然语言理解
- 通过HTTP与食品配方MCP服务器集成
- 支持:
- 列出所有可用食谱 - 按配料搜索食谱 - 按名称搜索食谱 - 提供用户友好、格式化的响应
先决条件
- Python 3.8+
- Azure OpenAI资源(API密钥、端点、部署)
- 访问正在运行的Food Recipe MCP服务器
安装
- 克隆此存储库或复制项目文件。
- 安装依赖项:
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-urlAZURE_OPENAI_API_KEY:您的Azure OpenAI API密钥AZURE_OPENAI_ENDPOINT:您的Azure OpenAI端点URLAZURE_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:列出所有食谱 1. search_recipe_by_ingredients:按食材查找食谱 1. get_recipe_by_name:按食谱名称查找食谱
- 机器人总是使用这些工具来获取准确的信息,从不编造食谱。
- 响应的格式是为了可读性,并解释了成分匹配。
项目结构
foodRecipeClient.py:主要聊天机器人客户端requirements.txt:Python依赖关系pyproject.toml:项目元数据
故障排除
- 确保在中设置了所有环境变量
.env. - 请确保您的Azure OpenAI和MCP服务器凭据正确。
- 如果遇到导入错误,请检查是否安装了所有依赖项。
许可证
该项目根据MIT许可证获得许可。您可以随意使用、修改、分叉或改进此项目。
请参阅 许可证 文件以获取完整的许可证文本。
