AI Agent 實戰:搭建個人在線旅游助手

AI Agent 實戰:搭建個人在線旅游助手

本次實驗中,我們將繼續探索 Agent 的提示詞,學習更加規范的提示詞撰寫方法。

本實驗中你將掌握的知識點

  • 使用 Dify 構建 Agent 的方法
  • 結構化的提示詞撰寫技巧
  • 變量的使用方法

1. 準備

在新建 Agent 之前,請先確保以下步驟已經完成:

  • 注冊和登錄 Dify,如果你想要進行本地部署,可以參考 社區版 - Docker Compose 部署
  • 至少配置一個模型供應商(Dify 贈送 200 條 OpenAI 消息額度,但為了確保實驗順利建議自行配置 LLM 的 API Key)

2. 配置工具

Google

搭建在線旅游助手需要使用聯網的搜索引擎作為參考資料來源,本文中將以 Google 作為示例。

當然,你也可以使用其他的搜索引擎,例如必應,甚至是由 AI 驅動的 Perplexity。

Dify 提供的 Google 工具基于 SerpAPI,因此需要提前進入 SerpAPI 的 API Key 管理頁申請 API Key 并粘貼到 Dify - 工具 的對應位置。

具體操作步驟如下:

  1. 新增 SerpAPI 的 API Key:

進入SerpAPI - API Key,如果你尚未注冊,會被跳轉至進入注冊頁。

SerpAPI提供一個月100次的免費調用次數,這足夠我們完成本次實驗了。如果你需要更多的額度,可以增加余額,或者使用其他的開源方案。

點擊復制

  1. 前往 Dify - 工具 - Google

點擊 去授權 ,填入API Key并保存。

webscraper

本次實驗中,我們需要一個爬蟲工具從指定的網頁中抓取內容,Dify 已提供內置工具,無需額外配置。

Wikipedia

我們還希望 Agent 能夠準確介紹目的地知識,Wikipedia 是一個比較好知識來源,Dify 也內置了該工具,無需額外配置。

3. 構建 Agent

首先我們選擇 創建空白應用 - Agent

添加工具:Googlewebscraperwikipedia并啟用。

  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支持**:我們提供全天候支持,以解決你在旅行中可能遇到的任何問題或需求。祝你旅途愉快,滿載豐富經歷和美好回憶!

思考題 1: 如何規范化用戶輸入?

通常我們輸入 Agent 內容都是自然語言,而自然語言的一個缺點是很難規范化,有可能包含了一些 Agent不需要的信息或者沒有價值的信息,這個時候我們可以引入變量來規范化輸入。

Dify 目前支持文本段落下拉選項數字基于 API 的變量這幾種類型的變量。

在本實驗中,我們只需要選用文本類型的變量即可。

變量中,選擇合適的變量類型,我們可以詢問用戶目的地、旅行天數、預算。

變量Key變量類型字段名稱可選
destination文本目的地
day文本旅行天數
budget文本旅行預算

需要注意的是,變量 Key,也就是變量的名稱,僅支持大小寫英文、數字、下劃線。字段名稱是用戶可以看到的提示內容。

添加變量后,用戶可以按照應用開發者的意圖向應用提供必要的背景信息,實現的效果如下:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74236.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74236.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74236.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

檢索增強生成(RAG):強化 AI 智能體的知識 “武裝”

技術點目錄 第一章、智能體(Agent)入門第二章、基于字節Coze 構建智能體(Agent)第三章、基于其他平臺構建智能體(Agent)第四章、國內外智能體(Agent)經典案例詳解第五章、大語言模型應用開發框架LangChain入門第六章、基于LangChain的大模型API接入第七章…

vscode 打開工程 看不到文件目錄

vscode 打開工程 看不到文件目錄 View->Explorer 快捷鍵:CtrlShiftE

厘米級定位賦能智造升級:品鉑科技UWB技術驅動工廠全流程自動化與效能躍升”

在智能制造中的核心價值體現在?高精度定位、流程優化、安全管理?等多個維度,具體應用如下: 一、?核心技術與定位能力? ?厘米級高精度定位? UWB技術通過?納秒級窄脈沖信號?(帶寬超500MHz)實現高時間分辨率,結合…

getID3獲取本地或遠程視頻時長

音頻文件也可使用,使用ffmeg安裝太復雜了 附ffmpeg方式:centos下安裝ffmpeg_yum安裝ffmpeg-CSDN博客 使用composer先安裝 composer require james-heinrich/getid3 獲取本地視頻 //獲取本地視頻$video_path $_SERVER[DOCUMENT_ROOT].$params[video];…

10、Linux C 網絡編程(完整版)

1、網絡發展歷史和分層 1.1 Internet 的歷史 起源: 1957 年:蘇聯發射第一顆人造衛星 "Sputnik"。 1958 年:美國總統艾森豪威爾成立 DARPA(國防部高級研究計劃署)。 1968 年:DARPA 提出 "…

前端:開源軟件鏡像站 / 清華大學開源軟件鏡像站 / 阿里云 / 網易 / 搜狐

一、理解開源軟件鏡像站 開源軟件鏡像是指開源軟件在遠程服務器上的備份副本,允許用戶通過互聯網快速下載和安裝所需的軟件。在國內,有多個知名的開源軟件鏡像站,為開發者提供穩定、快速的開源軟件下載服務。 二、常見開源軟件鏡像站 序號…

Oracle 數據庫中優化 INSERT INTO 操作的性能

在 Oracle 數據庫中優化 INSERT INTO 操作的性能,尤其是在處理大批量數據時,可以通過以下方法顯著提升效率。 使用直接路徑插入(Direct-Path Insert) 通過 APPEND 提示繞過緩沖區緩存,直接寫入數據文件,減…

嵌入式硬件篇---嘉立創PCB繪制

文章目錄 前言一、PCB繪制簡介1.1繪制步驟1.1.1前期準備1.1.2原理圖設計1.1.3原理圖轉PCB1.1.4PCB布局1.1.5布線1.1.6布線優化和絲印1.1.7制版 1.2原理1.2.1電氣連接原理1.2.2信號傳輸原理1.2.3電源和接地原理 1.3注意事項1.3.1元件封裝1.3.2布局規則1.3.3過孔設計1.3.4DRC檢查…

ideal自動生成類圖的方法

在 IntelliJ IDEA 中,“**在項目資源管理器中選擇以下類**” 是指通過 **項目資源管理器(Project Tool Window)** 找到并選中你需要生成類圖的類文件(如 .java 文件),然后通過右鍵菜單或快捷鍵操作生成類圖…

【零基礎入門unity游戲開發——2D篇】2D物理關節 —— Joint2D相關組件

考慮到每個人基礎可能不一樣,且并不是所有人都有同時做2D、3D開發的需求,所以我把 【零基礎入門unity游戲開發】 分為成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要講解C#的基礎語法,包括變量、數據類型、運算符、流程控制、面向對象等,適合沒有編程基礎的…

在Vue 3 + TypeScript + Vite 項目中安裝和使用 SCSS

在Vue 3 TypeScript Vite 項目中安裝和使用 SCSS 1、安裝 SCSS 的相關依賴 npm install sass --save-dev2、配置 Vite 對于 Vue 3,Vite 已經內置了對 SCSS 的支持,通常不需要額外的配置。但是,如果需要自定義配置,可以在路徑…

【滲透測試】Vulnhub靶機-FSoft Challenges VM: 1-詳細通關教程

下載地址:https://www.vulnhub.com/entry/fsoft-challenges-vm-1,402/ 目錄 前言 信息收集 目錄掃描 wpscan掃描 修改密碼 反彈shell 提權 思路總結 前言 開始前注意靶機簡介,當第一次開機時會報apache錯誤,所以要等一分鐘后重啟才…

Redis 6.2.6 生產環境單機配置詳解redis.conf

文章目錄 Redis 生產環境配置詳解配置文件示例基礎網絡與進程管理RDB 持久化配置復制(主從同步)設置內存管理AOF 持久化性能優化設置限制與監控其他參數完整配置總結 Redis 生產環境配置詳解 在實際生產環境中,為了保障 Redis 的穩定性和高性…

SpringBoot實戰:Excel文件上傳、數據驗證與存儲全流程解析

一、需求場景與技術選型 在企業管理、數據中臺等系統中,Excel文件處理是常見需求。本文將基于SpringBoot實現以下核心功能: 支持.xls/.xlsx文件上傳數據完整性驗證(非空、格式等)業務數據驗證(關聯數據庫校驗&#x…

使用Java爬蟲按關鍵字搜索淘寶商品?

在電商領域,通過關鍵字搜索商品是獲取商品信息的常見需求。Java爬蟲技術可以幫助我們自動化地獲取這些信息,提高工作效率。本文將詳細介紹如何使用Java爬蟲按關鍵字搜索淘寶商品,并提供完整的代碼示例。 一、準備工作 1. 注冊淘寶開放平臺賬…

【Git】5 個分區的切換方式及示例

目錄 1. **工作區(Working Directory)**2. **緩存區(Stage/Index)**3. **本地倉庫(Local Repository)**4. **遠程倉庫(Remote Repository)**5. **貯藏區(Stash&#xff0…

【計算機視覺】YOLO語義分割

一、語義分割簡介 1. 定義 語義分割(Semantic Segmentation)是計算機視覺中的一項任務,其目標是對圖像中的每一個像素賦予一個類別標簽。與目標檢測只給出目標的邊界框不同,語義分割能夠在像素級別上區分不同類別,從…

MATLAB之數據分析圖系列:從二維到三維(直接套用)

MATLAB以其強大的矩陣運算和可視化功能,成為科研、工程領域的標配工具。本文提供從基礎二維圖形到復雜三維模型的即用代碼塊,涵蓋數據標注、多圖排版、動態演示等核心技巧 所有代碼均經過MATLAB 2023a實測,替換數據即可生成專業級圖表。” …

HTTP響應數據包全面解析:結構、原理與最佳實踐

目錄 HTTP響應概述 HTTP響應數據包結構 2.1 狀態行 2.2 響應頭 2.3 空行 2.4 響應體 HTTP狀態碼詳解 3.1 1xx信息響應 3.2 2xx成功響應 3.3 3xx重定向 3.4 4xx客戶端錯誤 3.5 5xx服務器錯誤 常見HTTP響應頭字段 響應體內容類型 緩存控制機制 實際HTTP響應示例分…

H.264編碼解析與C++實現詳解

一、H.264編碼核心概念 1.1 分層編碼結構 H.264采用分層設計,包含視頻編碼層(VCL)和網絡抽象層(NAL)。VCL處理核心編碼任務,NAL負責封裝網絡傳輸數據。 1.2 NALU單元結構 // NAL單元頭部結構示例 struc…