成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

智能體常用策略FunctionCalling和ReAct有什么區別?

人工智能
Dify 內置了兩種 Agent 策略:Function Calling 和 ReAct,但二者有什么區別呢?在使用時又該如何選擇呢?接下來我們一起來看。

Dify 內置了兩種 Agent 策略:Function Calling 和 ReAct,但二者有什么區別呢?在使用時又該如何選擇呢?接下來我們一起來看。

1.Function Calling

Function Call 會通過將用戶指令映射到預定義函數或工具,LLM 先識別用戶意圖,再決定調用哪個函數并提取所需參數。

它的核心是調用外部函數或工具,屬于一種明確的工具調用機制。

優點

  • 精確:對于明確的任務,可以直接調用相應的工具,無需復雜的推理過程。
  • 易于集成外部功能可以將各種外部 API 或工具封裝成函數供模型調用。
  • 結構化輸出:模型輸出的是結構化的函數調用信息,方便下游節點處理。
  • 執行效率高:對于簡單、明確的任務,執行速度快。

缺點

  • 如果任務定義不明確或用戶意圖模糊,LLM 可能難以準確選擇工具或提取參數。
  • 對于需要多輪推理才能確定調用哪個工具的任務,不夠靈活。

適用場景

  • 需要根據用戶意圖精確調用特定工具的自動化任務。
  • 需要與外部 API 或服務進行交互的場景。
  • 數據檢索、信息查詢并以特定格式呈現的應用

2.ReAct

ReAct=Reason+Act,推理+行動,LLM 首先思考當前狀態和目標,然后選擇并調用合適的工具,工具的輸出結果又將引導 LLM 進行下一步的思考和行動,如此循環,直到問題解決。

舉例說明

舉個例子,正常情況下,當我們在計算一個商品的價格時,它的執行步驟是這樣的:

  • 查詢商品原價。
  • 計算商品優惠價。
  • 計算商品最終價格=商品原價-優惠價。

但某個商品情況比較特殊,它在以上第二步中存儲的不是優惠價,而是折扣價(例如 8 折優惠),那么此時商品的最終價格的計算公式就變成了以下方式:

  • 查詢商品原價。
  • 查詢商品折扣價。
  • 計算商品最終價格=商品原價 X 商品折扣價。

在這種情況下就要使用 ReAct 策略了,因為 ReAct 策略會根據第二步的觀測結果,分析并改變第三步的計算公式,保證任務的精準執行,這種情況下就要使用 React 策略。

核心機制

  • ReAct 是一個迭代過程,LLM 在“思考(Reason)-> 行動(Act)-> 觀察(Observe)”的循環中逐步推進任務。
  • LLM 首先分析當前狀態和目標,選擇并調用工具,然后根據工具的輸出進行下一步的思考和行動,直到問題解決。

優點

  • 利用外部信息:可以有效使用外部工具來收集模型單獨無法處理的任務所需的信息。
  • 可解釋性好:推理和行動步驟交織在一起,允許一定程度上跟蹤 Agent 的過程。
  • 廣泛適用性:適用于需要外部知識或特定行動的任務,例如問答、信息檢索和任務執行。
  • 靈活性高:對于復雜、多步驟的任務,以及需要探索和動態調整策略的場景,具有更好的適應性。

缺點

  • 執行速度和成本:由于涉及多次 LLM 調用,ReAct 通常比 Function Calling 更慢,并且消耗更多的 tokens。
  • 推理穩定性:在很大程度上取決于 LLM 的推理能力以及提示(Instruction)的質量。
  • 輸出解析復雜:ReAct 過程中 LLM 產生的“思考”文本格式可能不一致,給解析和提取關鍵信息帶來挑戰。

適用場景

  • 需要進行探索性研究、從多個來源收集和綜合信息的任務。
  • 問題解決方案路徑不明確,需要通過迭代嘗試和調整來找到答案的復雜問題。
  • 需要較高可解釋性,希望了解 Agent 決策過程的場景。

3.Function Calling VS React

Function Calling 和 React 區別如下:

  • Function Calling 更適合簡單、明確的任務,強調直接調用工具的高效性。
  • ReAct 更適合復雜、多步驟的任務,強調推理過程的靈活性和可解釋性。
責任編輯:姜華 來源: 磊哥和Java
相關推薦

2024-05-06 10:55:38

2017-11-17 08:17:48

2024-05-27 00:40:00

2022-02-27 15:33:22

安全CASBSASE

2021-12-17 14:40:02

while(1)for(;;)語言

2021-05-16 14:26:08

RPAIPACIO

2024-03-05 18:59:59

前端開發localhost

2024-09-09 13:10:14

2022-08-02 08:23:37

SessionCookies

2023-12-25 15:40:55

React開發

2020-03-09 20:56:19

LoRaLoRaWAN無線技術

2022-09-07 18:32:57

并發編程線程

2022-09-08 18:38:26

LinuxWindowsmacOS

2020-11-09 14:07:53

PyQtQt編程

2022-06-06 14:53:02

LoRaLoRaWAN

2010-03-19 09:48:12

智能交換機

2023-12-15 09:21:17

ObjectJavaString

2022-08-31 08:33:54

Bash操作系統Linux

2025-03-10 09:30:00

SpringJava開發

2022-08-22 07:06:32

MyBatisSQL占位符
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 综合九九| 免费看啪啪网站 | 国产成人在线视频免费观看 | 久久婷婷av | 蜜臀久久| 日韩视频在线播放 | 国产精品夜色一区二区三区 | 亚洲国产一区二区三区四区 | 日韩国产在线观看 | 亚洲一二三区在线观看 | 97免费在线观看视频 | 在线看亚洲 | 亚洲一区二区黄 | 黄色大片免费网站 | 日本精品久久久一区二区三区 | 天天干夜夜操 | 日韩乱码一二三 | 在线免费观看黄色 | 毛片一级片 | 精品国产乱码久久久久久丨区2区 | 国产精品日本一区二区不卡视频 | 操操日| 亚洲精品福利在线 | 成人性生交大片免费看中文带字幕 | 中文字幕电影在线观看 | 视频一区在线观看 | 日本天天操 | 中文字幕在线观看视频一区 | 午夜视频在线观看视频 | 99久久精品免费看国产四区 | 九七午夜剧场福利写真 | 日韩一级欧美一级 | 日本久久视频 | 国产成人免费在线 | www日日日 | 日日久| 久久成人精品 | 国产日韩精品一区二区三区 | 久久久久久影院 | 日韩三级一区 | 国产精品久久久久久妇女6080 |