AI旅行代理服务

AI旅行代理是一个模块化参考应用,利用LangChain.js、LlamaIndex.TS和Microsoft Agent Framework协调多个AI代理,帮助处理客户查询、提供目的地推荐和规划行程。

  • by Azure-Samples
  • TypeScript
  • 本地部署
  • 481 星标
  • 更新于
在 GitHub 查看 Azure-Samples/azure-ai-travel-agents

使用说明

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初学者 导游。

特性

在本地免费预览应用程序

要在本地运行和预览应用程序,我们将使用 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文件

为了在本地运行应用程序,请确保在运行预览脚本之前安装了以下内容:

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

  1. 打开终端并导航到项目的根目录。
  2. 通过运行以下命令使用Azure进行身份验证 azd auth login.
  3. 跑 azd up 将应用程序部署到Azure。这将提供Azure资源,部署此示例以及所有容器,并设置必要的配置。
    • 系统将提示您为资源选择一个基准位置。如果您不确定要选择哪个位置,请选择 swedencentral.
    • 默认情况下,OpenAI资源将部署到 swedencentral。您可以使用设置其他位置 azd env set AZURE_LOCATION <location>目前只接受一小部分地点。该位置列表基于 OpenAI模型可用性表 并且可能随着可用性的变化而过时。

部署过程需要几分钟。完成后,您将在终端中看到web应用程序的URL。

现在,您可以在浏览器中打开web应用程序并开始与机器人聊天。

清理

要清理此示例创建的所有Azure资源,请执行以下操作:

  1. 跑 azd down --purge
  2. 当系统询问您是否确定要继续时,请输入 y

资源组和所有资源都将被删除。

高级设置

要在更高级的本地设置中运行应用程序或部署到Azure,请参阅 高级设置 文档。这包括设置Azure容器应用程序环境、使用本地LLM提供程序、配置服务以及将应用程序部署到Azure。

贡献

我们欢迎为AI旅行社项目做出贡献!如果您有建议、错误修复或新功能,请随时提交拉取请求。有关贡献的更多信息,请参阅 贡献.md 文件。

加入社区

我们鼓励您加入我们的Microsoft Foundry开发者社区​ 分享您的经验、提问并获得支持: