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

深度解析 REAcT Agent 的實現:利用 LlamaIndex 和 Gemini 提升智能代理工作流 原創 精華

發布于 2024-11-11 11:32
瀏覽
0收藏

01、概述

在過去的兩三年中,人工智能領域經歷了令人矚目的發展,尤其是在大語言模型、擴散模型和多模態技術等方面。其中,我對智能代理工作流產生了濃厚的興趣。今年初,Coursera 的創始人、深度學習先鋒 Andrew Ng 發了一條推特:“智能工作流將推動今年的 AI 巨大發展”。自那時起,智能代理領域的進展令人驚嘆,許多人開始構建自主代理和多代理架構。

02、什么是 REAcT 提示?

REAcT 代表 Reasoning(推理)、Acting(行動) 和 Thinking(思考),它是一種提示技術,使大語言模型(LLMs)能夠將復雜任務分解為一系列思考過程、行動和觀察。

深度解析 REAcT Agent 的實現:利用 LlamaIndex 和 Gemini 提升智能代理工作流-AI.x社區

REAcT 提示的過程簡單明了,主要包括以下三個步驟:

  1. 思考:根據用戶查詢,代理生成關于如何解決問題的思路。
  2. 行動:代理根據其思考執行某些操作,利用可用的工具或 API,例如谷歌搜索、文件加載等。
  3. 觀察:代理分析其行動結果,并決定是否繼續該過程或提供最終答案。

這個過程會循環進行,直到獲得令人滿意的結果或達到最大迭代次數。

REAcT 提示的示例

讓我們看一個典型的 REAcT 提示結構:

  • 思考:關于任務的推理。
  • 行動:要執行的動作,例如“搜索”。
  • 行動輸入:執行該動作的輸入,例如搜索查詢。
  • 觀察:該動作的結果。
  • 思考:基于觀察的進一步推理。
  • 最終答案:代理的結論。

實時示例

假設用戶查詢:“最近的印度與英格蘭測試系列賽的最佳球員是誰,他們的關鍵表現如何?”

輸出(使用 crewAI 生成):

  • 思考:為了準確回答這個查詢,我需要找到關于最近的印度與英格蘭測試系列賽的信息,確定最佳球員,并收集他們的表現細節。我將開始搜索系列賽的結果。
  • 行動:搜索
  • 行動輸入:“2024 年印度與英格蘭測試系列賽結果”
  • 觀察:最近的印度與英格蘭測試系列賽以印度 4-1 獲勝告終,該系列賽于 2024 年 1 月至 3 月在印度進行。

通過不斷的思考、行動和觀察,代理最終得出了答案:Yashasvi Jaiswal 被評選為最佳球員,并列出了他的關鍵表現。

REAcT 提示在構建代理中的價值

傳統上,從 LLM 中獲取結果的方式是編寫結構良好的提示。然而,需要注意的是,LLMs 本身并不具備推理能力。雖然多種方法試圖使 LLMs 能夠推理和計劃,但許多方法未能取得成功。REAcT 的出現,在一定程度上成功地設計了比以往更合乎邏輯的研究計劃。

REAcT 通過將復雜任務分解為一系列思考、行動和觀察,使代理能夠以之前難以實現的透明度和適應性處理復雜問題。這種方法使開發者更容易理解代理的決策過程,從而進行調試、優化和改進。

此外,REAcT 提示的迭代特性使代理能夠處理不確定性。隨著代理在多個思考、行動和觀察周期中的進展,它可以根據新信息調整其方法,類似于人類在面對復雜任務時的應對方式。

03、REAcT 代理的關鍵應用與案例

接下來,我們將探索 REAcT 代理的多種應用和實際案例,突顯其在各個領域提升推理、決策和適應能力的潛力。

實時體育分析與預測

REAcT 代理可以利用互聯網上大量信息提供體育行業的分析和預測。例如,在 IPL 比賽中,代理可以:

  • 分析球員表現趨勢。
  • 預測最佳擊球順序或投球調整。
  • 根據擊球手的擊球區域建議場上布陣。

自動化客戶支持

客戶支持需要提供有效反饋的技能。REAcT 代理非常適合在 LLM 或代理需要提供智能反饋時使用,幫助:

  • 理解復雜的客戶查詢。
  • 獲取相關產品信息和故障排除指南。
  • 逐步引導客戶解決問題。

個性化學生學習

教育領域也是 REAcT 代理可能產生巨大影響的領域。想象一個個性化的 AI 輔導員,它可以:

  • 評估學生當前的知識水平。
  • 將復雜主題分解為可管理的小塊。
  • 根據學生的反饋調整教學風格。
  • 提供實時反饋并建議額外資源。

04、使用 LlamaIndex 實現 REAcT 代理

現在,我們進入實現 REAcT 代理的激動人心的部分。實際上,使用 LlamaIndex 實現起來相當簡單,只需幾行代碼。

安裝和設置

在進行代碼實現之前,我們需要安裝一些必要的庫,包括 LlamaIndex。LlamaIndex 是一個有效連接大語言模型與數據的框架。我們將使用 DuckDuckGo 搜索作為我們的動作工具,并將 Gemini 作為集成的 LLM。

!pip install llama-index
!pip install duckduckgo-search
!pip install llama-index-llms-gemini

導入必要組件

我們首先需要導入必要的組件。REAcT 代理需要與外部工具交互以獲取數據,這可以通過 LlamaIndex 核心工具中的 Function Tool 實現。邏輯很簡單:每當代理需要訪問真實數據時,它會觸發一個 Python 函數來檢索所需信息。

python

from llama_index.core.tools import FunctionTool
from duckduckgo_search import DDGS
from llama_index.llms.gemini import Gemini

定義 Gemini LLM

在 LlamaIndex 中,OpenAI 是默認的 LLM。為了覆蓋 Gemini,我們需要在設置中初始化它。您可以在 Google AI Studio 獲取 API 密鑰。

from llama_index.core import Settings
import os

GOOGLE_API_KEY = "" # 在這里添加您的 API 密鑰
os.environ["GOOGLE_API_KEY"] = GOOGLE_API_KEY

llm = Gemini()
Settings.llm = llm

創建 REAcT 代理的動作工具

接下來,我們定義搜索工具 DuckDuckGo 搜索。需要記住的一個重要細節是,在定義用于執行操作的 FunctionTool 時,需要指定輸入參數的數據類型。例如,search(query: str) -> str 確保查詢參數是字符串。由于 DuckDuckGo 返回的搜索結果包含附加元數據,我們將提取結果的主體內容以簡化響應。

def search(query:str) -> str:
    """
    Args:
        query: 用戶提示
    return:
        context (str): 用戶查詢的搜索結果
    """
    req = DDGS()
    response = req.text(query, max_results=4)
    context = ""
    for result in response:
        context += result['body']
    return context

search_tool = FunctionTool.from_defaults(fn=search)

編寫 LlamaIndex 的 REAcT 代理

隨著代理的主要組件已設置完畢,我們現在可以定義 REAcT 代理。我們可以直接使用 LlamaIndex 核心中的 ReAct Agent。此外,我們設置 verbose=True 以了解幕后發生的事情,設置 allow_parallel_tool_calls=True 允許代理在適當情況下做出決策而無需總是依賴外部操作。

from llama_index.core.agent import ReActAgent

agent = ReActAgent.from_tools(
    [search_tool], 
    llm=llm, 
    verbose=True,
    allow_parallel_tool_calls=True
)

這樣,我們就創建了 REAcT 代理?,F在可以使用它來回答查詢,通過運行 agent.chat 方法。

template = """
你是一位專業的體育分析記者。
分析 Virat Kohli 在 2024 年 IPL 的表現趨勢,并提供他的優缺點。
還需提供 Virat Kohli 在 IPL 2024 的總得分。
我還需要他在同一賽季的最高分。
"""

response = agent.chat(template) 
print(response)

輸出

最終,我們得到了 REAcT 代理的響應。通過這樣的實現,代理能夠有效地回答實時用戶查詢。

深度解析 REAcT Agent 的實現:利用 LlamaIndex 和 Gemini 提升智能代理工作流-AI.x社區

05、結語

REAcT 代理代表了人工智能和智能工作流領域的一大進步。通過使用 LlamaIndex 實現 REAcT 代理,我們創建了一個強大的工具,能夠在實時用戶查詢中進行推理、行動和思考。

參考:

  1. ??https://medium.com/@akash-modi/logical-reasoning-with-react-agent-from-scratch-in-python-part-2-b74ef462244b??

?

本文轉載自公眾號Halo咯咯  作者:基咯咯

原文鏈接:??https://mp.weixin.qq.com/s/0CG6AOqnRiiCEDDsqYCwXQ??

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
標簽
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 亚洲精品久久久久久下一站 | 高清欧美性猛交xxxx黑人猛交 | 欧洲高清转码区一二区 | 国产精品久久久久久妇女6080 | 国产精品一区在线 | 欧美网站一区二区 | 99精品久久99久久久久 | 国产精品视频导航 | 日韩精品在线视频 | 亚洲高清视频在线 | 日韩色在线 | 国产精品久久久久久吹潮 | 亚洲精品第一 | 免费观看一级毛片 | 久久久精品一区 | 久草a√ | 日韩中出| 欧美日韩亚洲国产综合 | 久久er精品 | 国产精品毛片无码 | 成人精品在线观看 | 国产欧美一区二区三区久久人妖 | 91久久久久久久 | 九九精品网 | 伊人伊人伊人 | 欧美精品一区二区三区四区五区 | 日韩在线免费视频 | 日本成人中文字幕在线观看 | 国产精品18久久久久久白浆动漫 | 国产精品久久欧美久久一区 | 日韩欧美中文字幕在线观看 | 在线亚洲精品 | 围产精品久久久久久久 | 中文字幕第十页 | 美女高潮网站 | 欧美一区二区三区 | 男女羞羞视频在线观看 | 日日日色| av电影一区二区 | 日韩精品一区二区三区四区视频 | 一区二区三区四区在线免费观看 |