使用说明
Agents and MCP Orchestration
with Langchain.js, LlamaIndex.TS,
and Microsoft Agent Framework!
:star:要保持更新并收到更改通知,请在GitHub上标记此仓库!
概述 • 建筑 • 特性 • 本地免费预览 • 成本估算 • 加入社区
概述
AI旅行社是 模块化参考应用 利用多个 AI代理 加强旅行社业务。该应用程序演示了如何 LangChain.js, LlamaIdex。TS,以及 Microsoft代理框架 可以编排 多个AI代理 协助员工处理客户查询、提供目的地建议和规划行程。多个 主控程序 (模型上下文协议)服务器,使用 Python、Node.js、Java和。网,用于为代理提供各种工具和服务,使它们能够无缝协作。
| 代理名称 | 目的 |
|---|---|
| 客户查询理解 | 提取密钥 偏好 客户咨询。 |
| 目的地推荐 | 建议 目的地 基于客户偏好。 |
| 行程计划 | 创建详细 行程 以及旅行计划。 |
| 回声Ping | 回显任何接收到的输入(用作MCP服务器示例)。 |
高级体系结构
AI Travel Agents应用程序的架构设计为模块化和可扩展:
- 所有组件都使用容器化 码头工人 以便它们可以很容易地部署和管理 Azure容器应用.
- 所有代理工具均可作为MCP使用(模型上下文协议)服务器,并由MCP客户端调用。
- MCP服务器是使用变体技术独立实现的,例如 python, Node.js, Java,以及 .NET.
- 三种编排选项可作为独立服务提供: LangChain.js (Types/Node.js), LlamaIdex。TS (TypeScript/Node.js),以及 Microsoft代理框架 python
- 每个编排器协调代理和MCP客户端之间的交互,使它们能够无缝协作。
- Aspire仪表板用于监控应用程序,提供对代理性能和行为的洞察(通过 OpenTetry集成).
[!注意] 模型上下文协议(MCP)的新成员?查看我们的免费 MCP初学者 导游。
特性
- 多个AI代理(每个都有自己的专长)
- 三种编排选项: LangChain.js, LlamaIdex。TS,以及 Microsoft代理框架
- 增压器由 主控程序
- 通过以下方式无服务器部署 Azure容器应用
- 包括 llms.txt 文件,提供信息以帮助LLM在推理时使用此项目(了解更多)
- 包括 adventure.config.json 帮助您以有趣的方式学习的文件(阅读更多
- 用于监测的OpenTetry仪器 Aspire仪表板
- 多种语言的MCP服务器示例代码:Python、Node.js、Java。网
- 易于使用新代理和工具进行扩展
- 使用VitePress的全面文档
在本地免费预览应用程序
要在本地运行和预览应用程序,我们将使用 Docker模型运行器.
[!重要] Phi4 14B型号需要 重要资源 (至少16GB RAM和现代CPU或GPU)高效运行。 GPU加速仅在Windows上的macOS Apple Silicon和NVIDIA GPU上受支持)。 如果您的计算机没有足够的资源在本地运行LLM,您仍然可以使用Microsoft Foundry运行应用程序。请参阅 高级设置 文档以获取更多信息。
一个设置脚本
脚本将执行以下操作:
- 检查所需的工具和依赖关系
- 将当前存储库克隆到本地计算机
- 为API和web应用程序安装npm依赖项
- 下载 Phi4 14B型号
- 这需要一段时间,因为型号很大(约7.80 GB)
- 为所有MCP服务器构建Docker镜像
- 使用本地AX的正确设置配置所有.env文件
为了在本地运行应用程序,请确保在运行预览脚本之前安装了以下内容:
- Git (用于克隆存储库)
- Node.js (用于UI和API服务)
- 码头工人 (适用于MCP服务器和使用DMR-Docker Model Runner)
- 确保启用 数字移动无线电 在Docker桌面设置中。
- 动力壳7+(pwsh) -仅适用于Windows用户。
- 重要:确保您可以运行
pwsh.exe从PowerShell终端。如果失败,您可能需要 升级PowerShell
- 重要:确保您可以运行
For Linux and macOS users
/bin/bash <(curl -fsSL https://aka.ms/azure-ai-travel-agents-preview)
For Windows users
iex "& { $(irm https://aka.ms/azure-ai-travel-agents-preview-win) }"
成本估算
在Azure中配置资源时,考虑与运行应用程序相关的成本非常重要。AI Travel Agents示例使用多个Azure服务,成本可能因您的使用和配置而异。
定价因地区和使用情况而异,因此无法预测您使用的确切成本。 但是,您可以使用 Azure定价计算器 为了对以下资源进行估算。
- Azure容器应用程序:消费计划,前200万次执行免费。按执行和使用的内存定价。 定价
- Azure容器注册表:首2GB存储免费。按存储的每GB和传输的每GB数据定价。 定价
- Azure OpenAI:标准层,GPT模型。每使用1M代币定价,每次查询至少使用1K代币。 定价
- Azure Monitor:对摄入的前5GB数据免费。之后每GB摄入的定价。 定价
[!重要] 为了避免不必要的成本,如果你的应用程序不再使用,记得把它拿下来, 通过删除门户中的资源组或运行
azd down --purge(参见 清理).
快速将示例部署到Azure
- 打开终端并导航到项目的根目录。
- 通过运行以下命令使用Azure进行身份验证
azd auth login. - 跑
azd up将应用程序部署到Azure。这将提供Azure资源,部署此示例以及所有容器,并设置必要的配置。- 系统将提示您为资源选择一个基准位置。如果您不确定要选择哪个位置,请选择
swedencentral. - 默认情况下,OpenAI资源将部署到
swedencentral。您可以使用设置其他位置azd env set AZURE_LOCATION <location>目前只接受一小部分地点。该位置列表基于 OpenAI模型可用性表 并且可能随着可用性的变化而过时。
- 系统将提示您为资源选择一个基准位置。如果您不确定要选择哪个位置,请选择
部署过程需要几分钟。完成后,您将在终端中看到web应用程序的URL。
现在,您可以在浏览器中打开web应用程序并开始与机器人聊天。
清理
要清理此示例创建的所有Azure资源,请执行以下操作:
- 跑
azd down --purge - 当系统询问您是否确定要继续时,请输入
y
资源组和所有资源都将被删除。
高级设置
要在更高级的本地设置中运行应用程序或部署到Azure,请参阅 高级设置 文档。这包括设置Azure容器应用程序环境、使用本地LLM提供程序、配置服务以及将应用程序部署到Azure。
贡献
我们欢迎为AI旅行社项目做出贡献!如果您有建议、错误修复或新功能,请随时提交拉取请求。有关贡献的更多信息,请参阅 贡献.md 文件。
加入社区
我们鼓励您加入我们的Microsoft Foundry开发者社区 分享您的经验、提问并获得支持:
- aka.ms/fundry/discord -加入我们的Discord社区,获得实时讨论和支持。
- aka.ms/fundry/论坛 -访问我们的Microsoft Foundry开发者论坛,提出问题并分享您的知识。