Agents and MCP Orchestration with Langchain.js, LlamaIndex.TS, and Microsoft Agent Framework!
  
](https://codespaces.new/Azure-Samples/azure-ai-travel-agents?hide_repo_select=true&ref=main&quickstart=true) 
    
:star:要保持更新并收到更改通知,请在GitHub上标记此仓库!
](https://github.com/Azure-Samples/azure-ai-travel-agents)
概述 • 建筑 • 特性 • 本地免费预览 • 成本估算 • 加入社区
Animation showing the chat app in action

概述
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代理(每个都有自己的专长)
- 增压器由 主控程序
- 通过以下方式无服务器部署 Azure容器应用
- 包括 llms.txt 文件,提供信息以帮助LLM在推理时使用此项目(了解更多)
- 用于监测的OpenTetry仪器 Aspire仪表板
- 多种语言的MCP服务器示例代码:Python、Node.js、Java。网
- 易于使用新代理和工具进行扩展
- 使用VitePress的全面文档
在本地免费预览应用程序
要在本地运行和预览应用程序,我们将使用 .
\[!重要\] 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文件
为了在本地运行应用程序,请确保在运行预览脚本之前安装了以下内容:
- 确保启用 数字移动无线电 在Docker桌面设置中。
- 动力壳7+(pwsh) -仅适用于Windows用户。
- 重要:确保您可以运行 pwsh.exe 从PowerShell终端。如果失败,您可能需要 升级PowerShell
For Linux and macOS users
/bin/bash
For Windows users
iex "& { $(irm https://aka.ms/azure-ai-travel-agents-preview-win) }"
## 成本估算
在Azure中配置资源时,考虑与运行应用程序相关的成本非常重要。AI Travel Agents示例使用多个Azure服务,成本可能因您的使用和配置而异。
定价因地区和使用情况而异,因此无法预测您使用的确切成本。
但是,您可以使用 [Azure定价计算器](https://azure.com/e/10e328d3aa074a5089a5ae6c1fb65ba9) 为了对以下资源进行估算。
- Azure容器应用程序:消费计划,前200万次执行免费。按执行和使用的内存定价。 [定价](https://azure.microsoft.com/pricing/details/container-apps/)
- Azure容器注册表:首2GB存储免费。按存储的每GB和传输的每GB数据定价。 [定价](https://azure.microsoft.com/pricing/details/container-registry/)
- Azure OpenAI:标准层,GPT模型。每使用1M代币定价,每次查询至少使用1K代币。 [定价](https://azure.microsoft.com/pricing/details/cognitive-services/openai-service/)
- Azure Monitor:对摄入的前5GB数据免费。之后每GB摄入的定价。 [定价](https://azure.microsoft.com/pricing/details/monitor/)
> \[!重要\]
> 为了避免不必要的成本,如果你的应用程序不再使用,记得把它拿下来,
> 通过删除门户中的资源组或运行 `azd down --purge` (参见 [清理](#clean-up)).
## 快速将示例部署到Azure
1. 打开终端并导航到项目的根目录。
1. 通过运行以下命令使用Azure进行身份验证 `azd auth login`.
1. 跑 `azd up` 将应用程序部署到Azure。这将提供Azure资源,部署此示例以及所有容器,并设置必要的配置。
- 系统将提示您为资源选择一个基准位置。如果您不确定要选择哪个位置,请选择 `swedencentral`.
- 默认情况下,OpenAI资源将部署到 `swedencentral`。您可以使用设置其他位置 `azd env set AZURE_LOCATION `目前只接受一小部分地点。该位置列表基于 [OpenAI模型可用性表](https://learn.microsoft.com/azure/ai-services/openai/concepts/models?tabs=global-standard%2Cstandard-chat-completions) 并且可能随着可用性的变化而过时。
部署过程需要几分钟。完成后,您将在终端中看到web应用程序的URL。
现在,您可以在浏览器中打开web应用程序并开始与机器人聊天。
## 清理
要清理此示例创建的所有Azure资源,请执行以下操作:
1. 跑 `azd down --purge`
1. 当系统询问您是否确定要继续时,请输入 `y`
资源组和所有资源都将被删除。
## 高级设置
要在更高级的本地设置中运行应用程序或部署到Azure,请参阅 [高级设置](docs/advanced-setup.md) 文档。这包括设置Azure容器应用程序环境、使用本地LLM提供程序、配置服务以及将应用程序部署到Azure。
## 贡献
我们欢迎为AI旅行社项目做出贡献!如果您有建议、错误修复或新功能,请随时提交拉取请求。有关贡献的更多信息,请参阅 [贡献.md](CONTRIBUTING.md) 文件。
## 加入社区
我们鼓励您加入我们的Microsoft Foundry开发者社区 分享您的经验、提问并获得支持:
- [aka.ms/fundry/discord](https://discord.gg/NcwHpz6bRW) -加入我们的Discord社区,获得实时讨论和支持。
- [aka.ms/fundry/论坛](https://aka.ms/foundry/forum) -访问我们的Microsoft Foundry开发者论坛,提出问题并分享您的知识。