Langchain的Agents介紹


??覺得內容不錯的話,歡迎點贊收藏加關注😊😊😊,后續會繼續輸入更多優質內容??

👉有問題歡迎大家加關注私戳或者評論(包括但不限于NLP算法相關,linux學習相關,讀研讀博相關......)👈

博主原文鏈接:https://www.yourmetaverse.cn/nlp/514/

請添加圖片描述

(封面圖由文心一格生成)

Langchain的Agents介紹

一、核心概念:
Langchain的Agents核心理念是使用語言模型來選擇一系列的動作。與硬編碼的動作鏈不同,Agents利用語言模型作為推理引擎,確定采取哪些動作以及順序。

二、主要組成部分:

  1. Agent: 負責決定下一步采取的動作,由語言模型和提示驅動。輸入包括:可用工具的描述、用戶高層目標和為達到用戶目標而執行的任何動作和工具輸出對。
  2. Tools: Agents可以調用的函數。關鍵在于提供適當的工具并以對Agent有幫助的方式描述這些工具。LangChain提供了一系列內置工具,并簡化了自定義工具的定義。
  3. Toolkits: 針對常見任務,Agent可能需要一組相關工具。LangChain提供了諸如GitHub toolkit之類的工具集,以實現特定目標。
  4. AgentExecutor: Agent的運行時,負責調用Agent,執行它選擇的動作,并將動作輸出反饋給Agent。此過程涵蓋處理Agent選擇不存在的工具、工具錯誤以及無法解析為工具調用的輸出等復雜情況。

三、構建Agent:

  1. 使用LangChain表達式語言(LCEL)從頭開始構建Agent,定義自定義工具,并在自定義循環中運行Agent和工具。
  2. 設置LangSmith,以便在構建時自動跟蹤內置或自定義Agent的所有步驟和工具輸入輸出。
  3. 定義Agent:例如,使用OpenAI Function Calling創建能夠計算單詞長度的自定義工具。這是創建Agent的可靠方式。
  4. 使用Agent:通過傳遞簡單的問題和空白的中間步驟,來測試Agent的反應。
  5. 使用AgentExecutor類簡化過程,它整合了錯誤處理、提前停止、跟蹤等質量提升措施。
  6. 添加記憶:為了使Agent能夠記住之前的交互并輕松處理后續問題,需要向Agent中添加記憶功能。

以上是Langchain的Agents模塊的概覽,涵蓋了其核心概念、組成部分、以及如何構建和使用Agent。這些功能為開發者提供了強大且靈活的工具,以實現更復雜的自動化任務和流程。

四、Agent類型介紹:
Langchain提供多種類型的Agents,每種都有其獨特的應用和特點:

  1. Zero-shot ReAct: 使用ReAct框架根據工具的描述來決定使用哪個工具。需要為每個工具提供描述。這是最通用的動作代理。

  2. Structured input ReAct: 能夠使用多輸入工具的代理。與舊代理不同,它可以使用工具的參數模式創建結構化的動作輸入。這對于復雜工具的使用(如精確導航瀏覽器)非常有用。

  3. OpenAI Functions: 專為與特定OpenAI模型(如gpt-3.5-turbo-0613和gpt-4-0613)協作而設計。這些模型已被明確地微調,以便在需要調用函數時檢測并響應應傳遞給函數的輸入。

  4. Conversational: 用于對話設置的代理。其提示旨在使代理有助于對話。它使用ReAct框架來決定使用哪個工具,并使用記憶功能來記住之前的對話互動。

  5. Self-ask with search: 使用名為Intermediate Answer的單一工具來查找問題的事實答案。這種代理類似于原始的自問自答搜索論文,其中提供了Google搜索API作為工具。

  6. ReAct document store: 使用ReAct框架與文檔存儲進行互動。必須提供兩種工具:SearchLookupSearch工具用于搜索文檔,而Lookup工具用于在最近找到的文檔中查找術語。此代理與原始ReAct論文中的Wikipedia示例相當。

這些Agents類型展示了Langchain在實現復雜自動化任務和流程方面的靈活性和強大功能。


??覺得內容不錯的話,歡迎點贊收藏加關注😊😊😊,后續會繼續輸入更多優質內容??

👉有問題歡迎大家加關注私戳或者評論(包括但不限于NLP算法相關,linux學習相關,讀研讀博相關......)👈

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

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

相關文章

Redis -- 介紹

1、NoSQL: 指的是非關系型數據庫,主要分成四大類:鍵值存儲數據庫、列存儲數據庫、文檔型數據庫、圖形數據庫。 2、什么是Redis: Redis是一種基于內存的數據庫,一般用于做緩存的中間件。 3、Redis的主要的特點: 1、Rd…

C++ 多線程鎖

目錄 1. mutex2. lock_guard3. unique_lock 是 lock_guard 的升級加強版4. condition_variable5. 調用 #include “thread” #include “mutex” #include “iostream” //! std::thread //! jion 阻塞式, .join()后面的代碼等待線程結束 //! detach 非阻塞式&#…

一、TIDB基礎

TIDB整個邏輯架構跟MYSQL類似,如下: TIDB集群:相當于MYSQL的數據庫服務器,區別是MYSQL數據庫服務器為單進程的,TIDB集群為分布式多進程的。 數據庫:同MYSQL數據庫,數據庫屬于集群,…

SSL握手失敗的解決方案

一、SSL握手失敗的原因: 1,證書過期:SSL證書有一個有效期限,如果證書過期,就會導致SSL握手失敗。 2,證書不被信任:如果網站的SSL證書不被瀏覽器或操作系統信任,也會導致SSL握手失敗…

線性代數的藝術

推薦一本日本網友Kenji Hiranabe寫的《線性代數的藝術》。這本書是基于MIT大牛Gilbert Strang教授的《每個人的線性代數》制作的。 雖然《線性代數的藝術》這本書僅僅只有12頁的內容,就把線性代數的重點全畫完了,清晰明了。 《線性代數的藝術》PDF版本&…

mysql 變量和配置詳解

MySQL 中還有一些特殊的全局變量,如 log_bin、tmpdir、version、datadir,在 MySQL 服務實例運行期間它們的值不能動態修改,也就是不能使用 SET 命令進行重新設置,這種變量稱為靜態變量。數據庫管理員可以使用前面提到的修改源代碼…

nodejs 將word轉為pdf office-to-pdf

jspdf用于html轉pdf。需借助html2canvas遍歷頁面中的dom節點,渲染成canvas image,再用jspdf把圖片轉為pdf。office-to-pdf 用于word轉pdf。依賴于libreOffice,需提前安裝 mac安裝libreOffice 1.首先需要jdk8,并配置環境變量 2.再就是需要安裝libreOf…

【Golang】使用泛型對數組進行去重

背景: 要求寫一個方法,返回去重后的數組。數組的類型可能是int64,也可能是string,或是其他類型。 如果區分類型的話,每增加一個新的類型都需要重新寫一個方法。 示例代碼: //對int64數組進行去重 func DeD…

ErphpdownV16.21插件 安裝教程和插件下載

ErphpdownV16.21插件下載_新版本 上傳插件并解壓 登入后臺插件管理啟動ErphpdownV16.21插件即可 啟動后設置即可使用此版本為學習版插件 功能介紹: Erphpdown會員推廣下載專業版 經過完美測試運行于wordpress 3.x-6.x版本。后續會增加更多實用的功能。已針對此插件…

Vue中學習筆記-數據代理

文章目錄 前文提要數據代理的概念MVVM模型和Vue中的數據代理M,模型V,視圖VM,視圖模型 前文提要 本人僅做個人學習記錄,如有錯誤,請多包涵 數據代理的概念 使用一個對象代理對另一個對象中屬性的操作。 MVVM模型和Vu…

Windows IDEA Python開發環境安裝+爬蟲示例

文章目錄 Python下載安裝開發工具IDEA包管理安裝pip基本用法從 requirements.txt 安裝依賴 項目示例部署在 Linux 上安裝Python在 Linux 上創建虛擬環境:安裝依賴:運行你的爬蟲 Python下載安裝 Python 安裝包下載地址:https://www.python.or…

Oracle登錄認證方式詳解

文章目錄 一、簡介二、OS認證三、口令認證四、remote_login_passwordfile 詳解 一、簡介 在數據庫管理中,登錄認證是確保數據庫安全性的重要環節。Oracle數據庫提供 了兩種認證方式,一種是“操作系統認證”,一種是“口令文件認證&#xff0c…

智安網絡|如何最大限度地提高企業網絡安全水平

在當今數字化時代,企業面臨著日益復雜和智能化的網絡威脅。為了保護企業的機密信息和客戶數據,漏洞掃描成為了一個至關重要的安全措施。然而,對于企業來說,他們最關心的是什么問題呢? 一、漏洞的發現和修復 在網絡安全…

路徑規劃之Best-First Search算法

系列文章目錄 路徑規劃之Dijkstra算法 路徑規劃之Best-First Search算法 路徑規劃之Best-First Search算法 系列文章目錄前言一、Best-First Search算法1.1 起源1.2 過程 三、簡單使用 前言 Best-First Search算法和Dijkstra算法類似,都屬于BFS的擴展或改進 一、…

Nginx 服務器 SSL 證書安裝部署

操作場景 本文檔以證書名稱 menglinfeng.top 為例。 Nginx 版本以 nginx/1.18.0 為例。 當前服務器的操作系統為 CentOS 7,由于操作系統的版本不同,詳細操作步驟略有區別。 安裝 SSL 證書前,請您在 Nginx 服務器上開啟 “443” 端口&#xf…

基于官方YOLOv4開發構建目標檢測模型超詳細實戰教程【以自建缺陷檢測數據集為例】

本文是關于基于YOLOv4開發構建目標檢測模型的超詳細實戰教程,超詳細實戰教程相關的博文在前文有相應的系列,感興趣的話可以自行移步閱讀即可:《基于yolov7開發實踐實例分割模型超詳細教程》 《YOLOv7基于自己的數據集從零構建模型完整訓練、…

springboot(ssm超市貨品信息管理系統 超市購物系統Java(codeLW)

springboot(ssm超市貨品信息管理系統 超市購物系統Java(code&LW) 開發語言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服務器:tomcat 數據庫:mysql 5.7(或8.0&am…

Linux技能篇-非交互式修改密碼

今天的文章沒有格式,簡單分享一個小技能,就是標題所說–非交互式修改密碼。 一、普通方式修改用戶密碼 最普通的修改密碼的命令就是passwd命令 [rootlocalhost ~]# passwd root Changing password for user root. New password: Retype new password:…

一文徹底看懂Python切片,Python切片理解與操作

1.什么是切片 切片是Python中一種用于操作序列類型(如列表、字符串和元組)的方法。它通過指定起始索引和結束索引來截取出序列的一部分,形成一個新的序列。切片是訪問特定范圍內的元素,就是一個Area。 說個笑話:切片不是切片,而是切片,但是又是切片。大家理解下呢(末…

高防cdn防護原理是什么,是否可以防護服務器嗎

隨著互聯網業務的迅速發展,網絡安全問題日益凸顯。在這樣的背景下,高防CDN作為一種有效的網絡安全解決方案,受到了越來越多的關注。那么高防CDN的防護原理是什么呢?接下來就跟小德一起深入了解下吧! 1. 高防CDN的基本概念 我們要明確什么是…