人工智慧的興起使開發人員能夠將智慧功能整合到日常工作流程中。 一個關鍵方法涉及創建將推理與行動結合的自主代理。本文示範如何使用 LangChain、OpenAI 的 GPT-4 和 LangChain 的實驗功能來建構此類代理。這些代理程式將執行 Python 程式碼、與 CSV 檔案互動並處理複雜的查詢。讓我們開始吧!
為什麼要選浪鏈?
LangChain 擅長作為利用語言模型開發應用程式的框架。它的優勢在於創建模組化、可重複使用的元件(例如代理),能夠:
- 執行Python程式碼。
- 分析資料檔案並與之互動。
- 使用工具進行推理與決策。
將LangChain與OpenAI的GPT-4結合,可以創建適合特定需求的代理,包括資料分析和程式碼調試。
入門:環境設定
編碼之前,請確保您的環境已正確配置:
- 安裝 Python 函式庫:
pip install langchain langchain-openai python-dotenv
- 建立 .env 檔案:安全儲存您的 OpenAI API 金鑰:
<code>OPENAI_API_KEY=your_api_key_here</code>
建構 Python 執行代理
一個重要的代理功能是執行 Python 程式碼。這是使用 LangChain 的 PythonREPLTool
來實現的。讓我們定義代理:
教學設計
代理的操作依賴一組指令。 提示如下:
<code>instruction = """ You are an agent tasked with writing and executing Python code to answer questions. You have access to a Python REPL for code execution. Debug your code if errors occur and retry. Use only the code's output to answer. If code cannot answer the question, respond with 'I don't know'. """</code>
代理設定
LangChain的REACT框架將建構這個代理:
from langchain import hub from langchain_openai import ChatOpenAI from langchain_experimental.tools import PythonREPLTool from langchain.agents import create_react_agent, AgentExecutor base_prompt = hub.pull("langchain-ai/react-agent-template") prompt = base_prompt.partial(instructions=instruction) tools = [PythonREPLTool()] python_agent = create_react_agent( prompt=prompt, llm=ChatOpenAI(temperature=0, model="gpt-4-turbo"), tools=tools, ) python_executor = AgentExecutor(agent=python_agent, tools=tools, verbose=True)
該代理程式執行 Python 程式碼並傳回結果。
新增 CSV 分析
資料分析是一項常見的 AI 代理任務。 整合LangChain的create_csv_agent
允許我們的代理查詢和處理CSV檔案中的資料。
CSV 代理設定
以下是增加 CSV 功能的方法:
from langchain_experimental.agents.agent_toolkits import create_csv_agent csv_agent = create_csv_agent( llm=ChatOpenAI(temperature=0, model="gpt-4-turbo"), path="episode-info.csv", verbose=True, allow_dangerous_code=True, )
該代理人回答有關 episode-info.csv
的問題,例如行/列計數以及劇集最多的季節。
組合工具實現統一代理
為了實現多功能性,我們將 Python 執行和 CSV 分析結合到一個代理程式中,允許根據任務無縫切換工具。
統一代理定義
from langchain.agents import Tool def python_executor_wrapper(prompt: str): python_executor.invoke({"input": prompt}) tools = [ Tool( name="Python Agent", func=python_executor_wrapper, description=""" Transforms natural language to Python code and executes it. Does not accept code as input. """ ), Tool( name="CSV Agent", func=csv_agent.invoke, description=""" Answers questions about episode-info.csv using pandas calculations. """ ), ] grant_agent = create_react_agent( prompt=base_prompt.partial(instructions=""), llm=ChatOpenAI(temperature=0, model="gpt-4-turbo"), tools=tools, ) grant_agent_executor = AgentExecutor(agent=grant_agent, tools=tools, verbose=True)
此代理程式處理 Python 邏輯和 CSV 資料分析。
實例:電視節目劇集分析
讓我們用episode-info.csv
測試統一代理:
pip install langchain langchain-openai python-dotenv
代理利用 pandas 分析 CSV 並返回劇集最多的季節。
後續步驟與結論
- 嘗試更多工具和資料集。
- 探索 LangChain 的文檔以了解更高級的代理創建。
LangChain可以創建高度客製化的智慧代理,簡化複雜的工作流程。 借助 Python REPL 和 CSV 代理程式等工具,從自動化資料分析到程式碼偵錯等,可能性是巨大的。從今天開始建立您的智慧代理!
以上是使用 LangChain 和 OpenAI 建立智慧代理:開發人員指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux終端中查看Python版本時遇到權限問題的解決方法當你在Linux終端中嘗試查看Python的版本時,輸入python...

本文解釋瞭如何使用美麗的湯庫來解析html。 它詳細介紹了常見方法,例如find(),find_all(),select()和get_text(),以用於數據提取,處理不同的HTML結構和錯誤以及替代方案(SEL)

本文比較了Tensorflow和Pytorch的深度學習。 它詳細介紹了所涉及的步驟:數據準備,模型構建,培訓,評估和部署。 框架之間的關鍵差異,特別是關於計算刻度的

Python的statistics模塊提供強大的數據統計分析功能,幫助我們快速理解數據整體特徵,例如生物統計學和商業分析等領域。無需逐個查看數據點,只需查看均值或方差等統計量,即可發現原始數據中可能被忽略的趨勢和特徵,並更輕鬆、有效地比較大型數據集。 本教程將介紹如何計算平均值和衡量數據集的離散程度。除非另有說明,本模塊中的所有函數都支持使用mean()函數計算平均值,而非簡單的求和平均。 也可使用浮點數。 import random import statistics from fracti

本文討論了諸如Numpy,Pandas,Matplotlib,Scikit-Learn,Tensorflow,Tensorflow,Django,Blask和請求等流行的Python庫,並詳細介紹了它們在科學計算,數據分析,可視化,機器學習,網絡開發和H中的用途

本文指導Python開發人員構建命令行界面(CLIS)。 它使用Typer,Click和ArgParse等庫詳細介紹,強調輸入/輸出處理,並促進用戶友好的設計模式,以提高CLI可用性。

在使用Python的pandas庫時,如何在兩個結構不同的DataFrame之間進行整列複製是一個常見的問題。假設我們有兩個Dat...

文章討論了虛擬環境在Python中的作用,重點是管理項目依賴性並避免衝突。它詳細介紹了他們在改善項目管理和減少依賴問題方面的創建,激活和利益。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

WebStorm Mac版
好用的JavaScript開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Atom編輯器mac版下載
最受歡迎的的開源編輯器