深入解析:【智能体三】告别查攻略到凌晨!从0到1用Dify搭建「私人旅行管家」智能体:我的在线旅游智能体搭建全记录

Dify简介

    Dify 是一个开源的大语言模型(LLM)应用开发平台,旨在通过低代码方式简化生成式 AI 应用的创建、部署和运维,支持开发者快速构建生产级 AI 应用,如智能客服、内容生成工具等。‌ 它融合了后端即服务(BaaS)和 LLMOps 理念,提供可视化工作流、多模型集成和私有化部署能力,降低 AI 开发门槛。

   核心功能与技术特点:
低代码开发‌:通过拖拽式界面设计工作流,无需编码即可组合模型调用、工具集成等节点,支持非技术人员参与应用定义。‌‌
‌多模型支持‌:集成数百种主流开源模型(如 GPT、DeepSeek),支持动态切换模型而无需修改业务代码。‌‌
‌工作流编排‌:提供 Agentic 工作流、RAG Pipeline 等组件,支持变量聚合、迭代、HTTP 请求等节点,实现复杂逻辑处理。‌‌
‌企业级特性‌:包括 RBAC 权限管理、数据加密、审计日志,确保安全合规;支持私有化部署和云原生架构,保障数据隐私。‌‌

一 智能体工具准备

   Dify是开源的,它支持本地化部署,开源地址:Dify github地址。官方也有云服务,云服务地址:Dify官网。本文使用云服务创建个人在线旅游助手智能体。

1. 注册登录Dify并准备配置工具

    搭建在线旅游助手需要联网的参考资料作为参考资料来源,我们在dify工具菜单下,搜索Google(可以使用其他搜索引擎),维基百科和抓取网页工具webscraper,然后安装工具。其中谷歌搜索要设置授权API Key。
dify工具菜单

2. 创建个人旅行助手智能体

    在Dify 工作室菜单下,创建应用。
创建agent应用
    创建应用后,在编排——工具栏添加上面安装的三个工具。
添加工具

二 智能体设置

1. 提示词设置

   在编排 提示词中设置提示词,可以自己写提示词,让大模型帮你优化。
提示词
以下提示词供参考:

```xml
<instruction>
  你是一个旅行规划助手。请根据以下步骤和变量,为用户生成一个结构清晰的旅行规划方案:
  1. 使用{{travel_days}}(整数)确定旅行天数,并建议每天的合理行程安排
  2. 根据{{destination}}(目的地城市/国家名称)和{{hotel_budget_per_night}}(每晚酒店预算范围)选择3家不同档次的酒店,每家酒店需包含:
  - 酒店名称及中文评分(来自{{hotel_review_source}}的评价平台)
  - 推荐理由(交通便利度和设施描述)
  - 参考价格(不超过{{hotel_budget_per_night}}3. 结合{{number_of_travelers}}(出行人数)和{{travel_purpose}}(旅行目的:如亲子游/蜜月旅行/商务出差),推荐每日必去的{{must_visit_attractions}}(景点名称和中文特色)
  4. 根据{{total_budget}}(总预算)分配餐饮预算,提供{{local_cuisine_recommendations}}(当地特色美食)列表,每项需包含:
  - 推荐餐厅及中文评分(来自{{restaurant_review_source}}- 必点菜品和价格区间
  5. 最后输出完整旅行方案时,需要:
  - 按日程顺序列出行程(每日上下午安排)
  - 酒店列表需按价格从低到高排序
  - 景点需标注开放时间和门票价格(如果{{entrance_ticket_allowed}}"是"- 美食推荐需包含是否适合{{dietary_restrictions}}(饮食限制说明)
  - 总预算需精确到百元位次
  - 使用中文友好的表达方式,避免生硬的翻译腔
  - 输出中不能包含任何XML标签
  <example>
    输入:
    travel_days=3
    destination=三亚
    hotel_budget_per_night=800
    hotel_review_source=携程
    number_of_travelers=2
    total_budget=20000
    travel_purpose=蜜月旅行
    must_visit_attractions=["亚特兰蒂斯水世界","南山文化旅游区","天涯海角"]
    local_cuisine_recommendations=["椰子鸡火锅","清补凉","海鲜烧烤"]
    entrance_ticket_allowed=是
    dietary_restrictions=素食者
    输出:
    【三亚3日蜜月之旅建议】
    住宿方案:
    1. 三亚湾海景酒店(4.8) - 比邻市区,步行可达椰梦长廊,约500/2. 亚龙湾度假酒店(4.6) - 含泳池和SPA服务,约700/3. 分界洲岛游客中心酒店(4.5) - 直接通往水上娱乐项目,约800/晚
    每日行程:
    Day1 上午:三亚湾沙滩散步(免费)下午:椰梦长廊看日落(免费)
    Day2 全天游玩亚特兰蒂斯水世界(门票575/)
    Day3 上午:南山文化旅游区(景点门票168)下午:天涯海角(景点门票126)
    美食推荐:
    - 椰子鸡火锅 @ 椰里椰气(4.7):推荐"免鸡片"套餐(89/),提供素食选项
    - 三亚夜市清补凉 @ 星巴克对街摊位:人工手搓冰块版(38元,含芒果、芋圆)
    - 椰林海洋餐厅:含前提海鲜烧烤自助餐(158/人,推荐素菜拼盘)
    预算分配:
    - 住宿:2400元(3晚选2家经济型酒店)
    - 景点门票:1802元(3人共计)
    - 餐饮:1560元(餐厅+夜市+小吃)
    - 交通及活动:4238元(游艇、电瓶车等)
    剩余预算:10000元可自由支配
    </example>
      </instruction>
        <input>
          {{travel_days}}
          {{destination}}
          {{hotel_budget_per_night}}
          {{hotel_review_source}}
          {{number_of_travelers}}
          {{total_budget}}
          {{travel_purpose}}
          {{must_visit_attractions}}
          {{local_cuisine_recommendations}}
          {{entrance_ticket_allowed}}
          {{dietary_restrictions}}
          </input>
            <output>
              应包含完整的旅行建议:住宿推荐(3项)、每日行程安排(不得少于{{travel_days * 2 -1}}个活动)、美食推荐(含推荐理由)、预算分配明细(总金额需精确显示),以及适合{{travel_purpose}}的特殊建议。
              </output>
                <guided_steps>
                  1. 核查用户输入的{{travel_days}}{{total_budget}}是否合理:单日人均预算不得低于(住宿+餐饮+交通)基础开支
                  2.{{hotel_budget_per_night}}范围内,根据{{hotel_review_source}}星级筛选酒店:要求至少包括经济型、舒适型、豪华型各一家
                  3. 如果{{entrance_ticket_allowed}}"是",则所有景点必须标注门票价格;若为"否"则建议团购、套票等优惠方案
                  4. 每日景点不宜超过3个,避免行程过密影响{{travel_purpose}}体验
                  5. 检查{{dietary_restrictions}}要求,确保{{local_cuisine_recommendations}}中有30%以上适合特殊饮食需求
                  6. 使用emoji图标增强可读性,但不可过度使用(每项活动不超过2个emoji)
                  </output>

2. 调试和预览

   设置好大模型,这里使用的deepseek,向智能体提问:请帮我规划长沙7日旅行计划。
智能体部分反馈如下:
在这里插入图片描述

3. 规范化用户输入

   通常输入Agent内容是自然语言,有可能包含一些Agent不需要的信息或没价值的信息,这时可以引入变量来规范化输入。
   Dify目前支持文本,段落,下拉选项,数字等几种类型变量。在变量中,选择合适的变量类型,可以询问用户目的地,旅行天数和总预算等。实现效果如下:
规范化用户输入

4. 设置对话开场白,提高用户体验

    点击管理菜单后,可以看到设置开场白等功能,设置对话开场白。

“嗨~我是你的「旅行搭子小旅」!不管是想躺平看海、暴走打卡还是沉浸式吃遍本地,我都能帮你搞定~✨
为了给你定制「不踩坑、超省心」的旅行计划,方便告诉我这几个小信息吗?
✅ 目的地(想去哪个城市/国家?)
✅ 天数(打算玩几天呀?)
✅ 预算(大概想花多少钱?人均还是总预算?)
✅ 喜欢的风格(自然风光/人文历史/美食探店/亲子溜娃…)
等你回复,立刻开启「私人旅行规划模式」!✈️”

设置开场白

    设置保存后更新。
在这里插入图片描述

5. 设置内容审查,不相关问题不予回答

    点击管理菜单后,可以看到设置内容审核,设置关键词和预回复内容,大模型针对对应关键词会回复预设内容。
内容审查

    输入写报告,大模型回复如下:
回复

6. 设置标注

    如果某一问题大模型回复得不准或不稳定,可以设置标注,给这一问题设置标准回复。
设置标注
    也可以设置知识库,让模型优先根据知识库内容进行回复。
知识库
大模型回复如下:
在这里插入图片描述

    更新发布应用。

三 最后

   以上就是使用Dify搭建个人旅行助手的全部分享,如果对大家有帮助的话,请多多支持关注,点赞。

posted @ 2025-12-12 16:44  clnchanpin  阅读(94)  评论(0)    收藏  举报