【人工智能】AI Agent 实战:使用 Dify 搭建个人在线旅游助手

发布于:2025-07-22 ⋅ 阅读:(14) ⋅ 点赞:(0)

在上一篇博文《【人工智能】使用 Dify 搭建 AI 图片生成应用》中,我们已初步了解了 Agent 的概念,并且尝试动手写了系统提示词。

本次实验中,我们将继续探索 Agent 的提示词,学习更加规范的提示词撰写方法。

本实验中你将掌握的知识点

  • 使用 Dify 构建 Agent 的方法
  • 结构化的提示词撰写技巧
  • 变量的使用方法

1.准备

在新建 Agent 之前,请先确保以下步骤已经完成:

  • 注册和登录 Dify,如果你想要进行本地部署,可以参考 社区版 - Docker Compose 部署
  • 至少配置一个模型供应商(Dify 赠送 200 条 OpenAI 消息额度,但为了确保实验顺利建议自行配置 LLM 的 API Key)。

2.配置工具

2.1 Google

搭建在线旅游助手需要使用联网的搜索引擎作为参考资料来源,本文中将以 Google 作为示例。当然,你也可以使用其他的搜索引擎,例如 必应,甚至是由 AI 驱动的 Perplexity

Dify 提供的 Google 工具基于 SerpAPI,因此需要提前进入 SerpAPI 的 API Key 管理页申请 API Key 并粘贴到 Dify工具 的对应位置。

具体操作步骤如下:

  • 1️⃣ 新增 SerpAPI 的 API Key

    • 进入 SerpAPI → API Key,如果你尚未注册,会被跳转至进入注册页。SerpAPI 提供一个月 100 次的免费调用次数,这足够我们完成本次实验了。如果你需要更多的额度,可以增加余额,或者使用其他的开源方案。

  • 2️⃣ 前往 Dify - 工具 - Google

    • 点击 去授权 ,填入 API Key 并保存。

2.2 webscraper

本次实验中,我们需要一个爬虫工具从指定的网页中抓取内容,Dify 已提供内置工具,无需额外配置。

2.3 Wikipedia

我们还希望 Agent 能够准确介绍目的地知识,Wikipedia 是一个比较好知识来源,Dify 也内置了该工具,无需额外配置。

3.构建 Agent

首先我们选择 创建空白应用Agent

添加工具:Googlewebscraperwikipedia 并启用。

3.1 示例输出

示例输出不是必要的部分。示例输出的目的是为了给 Agent 一个书写格式的参考,以确保 Agent 的输出更接近我们的期望。

以下是旅游助手的示例输出:

## 示例

### 详细旅行计划

**酒店推荐**
1. 肯辛顿酒店 (了解更多:www.doylecollection.com/hotels/the-kensington-hotel)
- 评分:4.6⭐
- 价格:每晚约350美元
- 简介:坐落在一座摄政时期的联排别墅中,这家优雅的酒店距离南肯辛顿地铁站5分钟步行路程,距离维多利亚和阿尔伯特博物馆10分钟步行路程。

2. 伦勃朗酒店 (了解更多:www.sarova-rembrandthotel.com)
- 评分:4.3⭐
- 价格:每晚约130美元
- 简介:建于1911年,最初是哈罗德百货公司(距离0.4英里)的公寓,这家现代化酒店坐落在维多利亚和阿尔伯特博物馆对面,距离南肯辛顿地铁站(直达希思罗机场)5分钟步行路程。

**第1天 - 抵达和安顿**
- **上午**:抵达机场。欢迎来到你的冒险之旅!我们的代表将在机场迎接你,确保你顺利入住。
- **下午**:入住酒店,稍作休息,恢复精力。
- **晚上**:在住宿周边进行轻松的步行游览,熟悉当地环境。发现附近的用餐选择,享受愉快的第一顿晚餐。

**第2天 - 文化与自然之旅**
- **上午**:从帝国理工学院开始你的一天,这是世界顶尖的学府之一。享受一次校园导览。
- **下午**:选择参观自然历史博物馆(以其引人入胜的展览而闻名)或维多利亚和阿尔伯特博物馆(庆祝艺术和设计)。之后,在宁静的海德公园放松,也许还可以在蛇形湖上乘船游览。
- **晚上**:探索当地美食。我们推荐你在传统的英国酒吧享用晚餐。

**附加服务:**
- **礼宾服务**:在你停留期间,我们的礼宾服务随时可以协助预订餐厅、购买门票、安排交通,以及满足任何特殊要求,以提升你的体验。
- **24/7支持**:我们提供全天候支持,以解决你在旅行中可能遇到的任何问题或需求。

祝你旅途愉快,满载丰富经历和美好回忆!

3.2 思考题: 如何规范化用户输入?

通常我们输入 Agent 内容都是自然语言,而自然语言的一个缺点是很难规范化,有可能包含了一些 Agent 不需要的信息或者没有价值的信息,这个时候我们可以引入变量来规范化输入。

Dify 目前支持 文本段落下拉选项数字基于 API 的变量 这几种类型的变量。

在本实验中,我们只需要选用 文本 类型的变量即可。

变量 中,选择合适的变量类型,我们可以询问用户目的地、旅行天数、预算。

变量 Key 变量类型 字段名称 可选
destination 文本 目的地
day 文本 旅行天数
budget 文本 旅行预算

需要注意的是,变量 Key,也就是变量的名称,仅支持大小写英文、数字、下划线。字段名称 是用户可以看到的提示内容。

添加变量后,用户可以按照应用开发者的意图向应用提供必要的背景信息,实现的效果如下:

🚀 参考:https://docs.dify.ai/zh-hans/workshop/basic/travel-assistant


网站公告

今日签到

点亮在社区的每一天
去签到