基于ECS部署一款规划行程的AI Agent

更新时间:

本实验带您体验如何基于云服务器ECS制作一款AI Agent,规划您的出行计划。

场景简介

5分钟即可基于云服务器ECS制作一款AI Agent,智能出行新体验!一句话搞定您的出行计划,同时使用高德地图精确的地理位置信息、天气查询能力、骑行/步行/驾车路径规划能力、周边搜索等能力,提供精确、真实的出行、游玩建议。

背景知识

本场景主要涉及以下云产品和服务:

费用说明

  1. 账号申请。

    如果没有阿里云账号,您需要先注册阿里云账号。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 计费说明。

    • Open WebUI面板在阿里云上的费用主要涉及:

      • 所选GPU云服务器的规格。

      • 磁盘容量。

      • 公网带宽。

    • 计费方式:

      按量付费(小时)或包年包月,预估费用在创建实例时可实时看到。使用按量付费时需要确保账户余额不少于100元。

    • 百炼模型调用费用:

      当您首次开通百炼时,平台会自动为您发放各模型的新人专属免费额度,详情请参见新人免费额度

    • 高德MCP Server

      高德开放平台提供免费额度,详情请参见开放平台基础服务计费说明

  3. 可领取权益。

    说明

    请根据您的实际需求,领取相关权益。

获取阿里云百炼API KEY

  1. 在实验页面,勾我已阅读并同意《阿里云云起实践平台服务协议》后,单击进入实操

  2. 开通大模型服务平台百炼。

    1. 前往阿里云百炼控制台,如果页面顶部显示以下消息,您需要开通阿里云百炼的模型服务,以获得免费额度。如果未显示该消息,则表示您已经开通,请跳过此步骤。

      image

    2. 在弹出的对话框中,勾选我已阅读并同意《模型管理服务协议》,单击确认开通

      image

  3. 获取阿里云百炼API KEY。

    1. 前往API-KEY控制台,在我的API-KEY页面,单击创建我的API-KEY

      image

    2. 创建新的API-KEY对话框中,归属业务空间选择主账号空间,单击确定

      说明

      请优先通过主账号空间获取API KEY。

      image

    3. 我的API-KEY页面,单击目标API-KEY右侧操作列下的查看,您即可看到API-KEY的明文信息,在后续步骤需要使用到API-KEY。

      说明

      API-KEY请注意保存,不要存放在公开环境中。

      image

获取高德MCP Server KEY

说明

高德开放平台提供免费额度,详情请参见开放平台基础服务计费说明

  1. 登录高德开放平台

    说明

    如果您没有高德开放平台账号,请先进行注册。

  2. 在首页,单击右上角的控制台

    image

  3. 在左侧导航栏中,选择应用管理 > 我的应用

    image

  4. 我的应用页面,单击创建新应用

    image

  5. 新建应用对话框中,自定义应用名称应用类型选择出行,单击新建

    image

  6. 我的应用页面,找到创建的应用,单击其右侧的添加Key

    image

  7. 在弹出的对话框中,自定义Key名称服务平台选择Web服务,勾选相关服务协议,单击提交

    image

  8. 我的应用页面,您即可看到高德MCP Server KEY的明文信息,在后续步骤需要使用到高德MCP Server KEY。

    说明

    为了对Key的安全有效管理,请妥善保管您的Key。

    image

一键部署Open WebUI服务

  1. 前往Open WebUI高德MCP部署页面

  2. 在服务部署页面,根据如下说明配置参数,然后单击立即创建

    配置项

    说明

    示例值

    套餐

    • 热卖套餐,特价99元/年(限购1台)固定带宽不限流量,新老同享,上云首选。

    • 尝鲜套餐,只需0.3元/小时。可用300元学生专属代金券抵扣!如果您只是想体验一下本实验方案,即可选择尝鲜套餐。

    请您根据实际需求,自行选择热卖套餐尝鲜套餐

    地域

    选择Open WebUI服务部署区域。

    本实验以华北2(北京)为例。

    实例密码

    设置服务器登录密码,长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号)。

    自定义设置实例密码。

    百炼API-KEY

    填写获取的阿里云百炼API-KEY

    sk-xxxxxxxxxxxxx

    高德MCP Server KEY

    填写获取的高德MCP Server KEY。

    1exxxxxxxxxxxxx

    image

  3. 请您耐心等待服务部署完成,大约需要5分钟。在概览页签的实例信息区域,当状态变为已部署时,表示Open WebUI服务部署成功。

    image

  4. 概览页签的立即使用区域,单击open-webui_address右侧的链接,访问Open WebUI页面。

    image

  5. 注册账号并登录服务。

    1. 开始使用Open WebUI页面,设置名称电子邮箱密码,然后单击创建管理员账号

      image

    2. 登录成功后,开启你的AI对话。

      image

      重要

      完成试验之后,如您不再使用服务,建议及时删除服务实例

Open WebUI前端设置

  1. 在页面右上角,单击头像图标,然后单击设置

    image

  2. 设置对话框中,单击工具

    image

  3. 设置对话框的工具区域中,单击image图标。

    image

  4. 添加一个连接对话框中,在URL中填写http://<云服务器ECS公网IP地址>:8000/amap-maps,单击保存

    说明

    您需要将<云服务器ECS公网IP地址>替换为实际获取的云服务器ECS公网IP地址。您可在服务实例的概览页签的立即使用区域中获取到云服务器ECS公网IP地址。

    例如云服务器ECS公网IP地址为192.0.2.0,则应填写http://192.0.2.0:8000/amap-maps

    image

    image

  5. (可选)如果您设置了使用域名访问您的Open WebUI网站时,则需要对您的Nginx配置文件(在/etc/nginx/sites-available目录下)进行修改。

    例如,您设置使用了https://example.com访问您的Open WebUI网站,则需要对您的Nginx配置文件进行修改。

    1. Nginx配置文件中,增加如下内容。

      # Proxy settings for MCP server
          location /mcp/ {
              proxy_pass http://localhost:8000/;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
      
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection "upgrade";
          }
      

      完整的配置文件如下。

      说明

      请将下方文件中的example.com替换为您自己的域名。

      server {
          listen 443 ssl;
          server_name example.com www.example.com;
      
      
          # SSL Configuration
          ssl_certificate /etc/nginx/ssl/example.com.pem;
          ssl_certificate_key /etc/nginx/ssl/example.com.key;
            
          # Security headers (optional but recommended)
          add_header Strict-Transport-Security "max-age=31536000" always;
          add_header X-Content-Type-Options nosniff;
          add_header X-Frame-Options "SAMEORIGIN";
          add_header X-XSS-Protection "1; mode=block";
      
          # Proxy settings
          location / {
              proxy_pass http://localhost:8080;  # Your service running on port 3000
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
      
      
              # WebSocket support (if needed)
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection "upgrade";
          }
      
          # Proxy settings for MCP server
          location /mcp/ {
              proxy_pass http://localhost:8000/;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
      
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection "upgrade";
          }
      }
      
    2. 保存Nginx配置文件后,重启Nginx。

      sudo nginx -t  # Test the configuration
      sudo systemctl restart nginx
  1. 配置完成后,在Open WebUI页面,当对话框下方显示image图标时,说明Open WebUI已经可以调用高德地图的MCP服务。

    image

  2. Open WebUI页面左上方,可以进行模型切换,建议使用qwen-plus。

    image

  3. Open WebUI页面的对话框中,输入如下提示词,对模型进行基本的训练。

    角色
    你是一位经验丰富的旅游规划专家,擅长使用MCP工具为用户提供全面的旅行规划服务。你对全球各地的旅游景点、文化习俗和交通住宿信息了如指掌,能够根据用户的需求提供个性化的旅行建议。
    
    ## 技能
    ### 技能 1:理解客户需求
    - 详细了解用户的旅行偏好,包括目的地、预算、出行日期、活动偏好等信息。
    - 使用MCP工具收集并分析相关信息,确保准确把握用户需求。
    
    ### 技能 2:制定旅行计划
    - 根据用户的需求,使用MCP工具生成详细的旅行计划,包括但不限于:
      - 行程安排:推荐的游览路线、活动安排、时间分配等。
      - 住宿建议:根据预算和偏好推荐合适的酒店或民宿。
      - 交通指南:提供从出发地到目的地及各个景点之间的交通方式和路线建议。
      - 餐饮推荐:介绍当地的特色美食和餐厅。
      - 注意事项:提醒用户需要注意的文化差异、安全提示等。
    
    ### 技能 3:优化旅行计划
    - 根据用户的反馈调整旅行计划,确保最终方案满足用户的所有需求。
    - 提供备用方案以应对可能的变化,如天气变化、交通延误等。
    
    ### 技能 4:解答旅行相关问题
    - 回答用户关于旅行的各种问题,例如签证、保险、货币兑换等。
    - 如果遇到不确定的问题,可以使用MCP工具或其他搜索工具查找相关信息。
    
    ## 限制
    - 只提供旅行相关的建议和信息,不提供预订服务。
    - 所有价格均为预估,可能会受到季节等因素的影响。
    - 使用MCP工具时,必须遵循其使用规范,确保数据的安全性和准确性。
    - 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。
  4. 现在就可以开始和模型进行对话,定制您的行程啦。

    说明

    参考对话内容:帮我制定未来几天,杭州5日游计划,请包含吃住行,天气,酒店(西溪湿地附近),餐饮美食。

    image

重要

完成实验之后,如您不再使用Open WebUI服务,建议及时删除服务实例,否则会继续产生费用。同时建议前往阿里云百炼API-KEY高德开放平台页面,分别删除阿里云百炼API-KEY和高德MCP Server KEY。