人工智慧的興起使開發人員能夠將智慧功能整合到日常工作流程中。 一個關鍵方法涉及創建將推理與行動結合的自主代理。本文示範如何使用 LangChain、OpenAI 的 GPT-4 和 LangChain 的實驗功能來建構此類代理。這些代理程式將執行 Python 程式碼、與 CSV 檔案互動並處理複雜的查詢。讓我們開始吧!
為什麼要選浪鏈?
LangChain 擅長作為利用語言模型開發應用程式的框架。它的優勢在於創建模組化、可重複使用的元件(例如代理),能夠:
將LangChain與OpenAI的GPT-4結合,可以創建適合特定需求的代理,包括資料分析和程式碼調試。
入門:環境設定
編碼之前,請確保您的環境已正確配置:
<code class="language-bash">pip install langchain langchain-openai python-dotenv</code>
<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框架將建構這個代理:
<code class="language-python">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)</code>
該代理程式執行 Python 程式碼並傳回結果。
新增 CSV 分析
資料分析是一項常見的 AI 代理任務。 整合LangChain的create_csv_agent
允許我們的代理查詢和處理CSV檔案中的資料。
CSV 代理設定
以下是增加 CSV 功能的方法:
<code class="language-python">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, )</code>
該代理人回答有關 episode-info.csv
的問題,例如行/列計數以及劇集最多的季節。
組合工具實現統一代理
為了實現多功能性,我們將 Python 執行和 CSV 分析結合到一個代理程式中,允許根據任務無縫切換工具。
統一代理定義
<code class="language-python">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)</code>
此代理程式處理 Python 邏輯和 CSV 資料分析。
實例:電視節目劇集分析
讓我們用episode-info.csv
測試統一代理:
<code class="language-bash">pip install langchain langchain-openai python-dotenv</code>
代理利用 pandas 分析 CSV 並返回劇集最多的季節。
後續步驟與結論
LangChain可以創建高度客製化的智慧代理,簡化複雜的工作流程。 借助 Python REPL 和 CSV 代理程式等工具,從自動化資料分析到程式碼偵錯等,可能性是巨大的。從今天開始建立您的智慧代理!
以上是使用 LangChain 和 OpenAI 建立智慧代理:開發人員指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!