酒店AI助手

一个交互式酒店客房服务助手,使用MongoDB存储菜单/订单数据,并利用OpenAI进行对话和工具调用。

  • by sidlihe
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sidlihe/Hotel_AI_Agent

使用说明

#酒店AI代理

一个交互式酒店客房服务助手,将菜单/订单数据存储在MongoDB中,并使用OpenAI进行对话+工具调用。

####项目布局 src/database/models.py–菜单项、过敏原、饮食标签和订单的Pydantic模型(定义存储在MongoDB中的模式)。

src/database/mongodb_client.py–连接+CRUD包装器(菜单项和订单集合)。

src/services/order_service.py–用于验证菜单项、创建订单、估计交付和饮食检查的业务逻辑。

src/mcp_server/ai_client.py——OpenAI客户端包装器;如果没有API密钥,则返回到基于规则的响应。

src/mcp_server/hotel_order_server.py——对话管理器;处理菜单查找和订单创建的函数/工具调用。

test_database.py–种子示例菜单数据的帮助程序(create_sample_menu())。

test_mcp_server.py–用于脚本化或交互式对话的CLI工具(每次运行时自动为示例菜单数据添加种子)。

test_simple_mcp.py–mcp服务器工具的轻量级健全性测试。

####先决条件 Python 3.11+和虚拟环境(Python-m venv-venv,.\venv\Scripts\activate)。

安装deps:pip Install-r requirements.txt。

MongoDB在本地运行(默认为mongodb://localhost:27017/).

带有OPENAI_API_KEY的.env= (可选--如果缺少,则返回基于规则的答复)。

####种子数据 test_mcp_server.py在启动时调用db_client.initialize_menu(create_sample_menu),因此每次运行都会删除并重新加载包含示例项的菜单。

####运行代理 脚本测试(默认场景):

python\test_mcp_server.py

互动模式(建议用于现场演示):

python\test_mcp_server.py--模式交互--304室

键入客人请求;助手使用OpenAI工具流实时回答。

命令:/room 切换房间,退出退出。