Heim >Backend-Entwicklung >Python-Tutorial >Erstellen intelligenter Agenten mit LangChain und OpenAI: Ein Entwicklerhandbuch

Erstellen intelligenter Agenten mit LangChain und OpenAI: Ein Entwicklerhandbuch

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-20 16:22:16163Durchsuche

Building Intelligent Agents with LangChain and OpenAI: A Developer

Der Aufstieg der künstlichen Intelligenz ermöglicht es Entwicklern, intelligente Funktionen in tägliche Arbeitsabläufe zu integrieren. Ein wichtiger Ansatz besteht darin, autonome Agenten zu schaffen, die Argumentation mit Handeln verbinden. In diesem Artikel wird die Erstellung solcher Agenten mithilfe von LangChain, GPT-4 von OpenAI und den experimentellen Funktionen von LangChain veranschaulicht. Diese Agenten führen Python-Code aus, interagieren mit CSV-Dateien und bearbeiten komplexe Abfragen. Fangen wir an!


Warum LangChain wählen?

LangChain eignet sich hervorragend als Framework für die Entwicklung von Anwendungen, die Sprachmodelle nutzen. Seine Stärke liegt in der Schaffung modularer, wiederverwendbarer Komponenten – wie Agenten –, die Folgendes leisten können:

  • Python-Code ausführen.
  • Analyse und Interaktion mit Datendateien.
  • Argumentation und Entscheidungsfindung mithilfe von Werkzeugen.

Die Kombination von LangChain mit GPT-4 von OpenAI ermöglicht die Erstellung von Agenten, die auf spezifische Anforderungen zugeschnitten sind, einschließlich Datenanalyse und Code-Debugging.


Erste Schritte: Umgebungseinrichtung

Stellen Sie vor dem Codieren sicher, dass Ihre Umgebung ordnungsgemäß konfiguriert ist:

  • Python-Bibliotheken installieren:
<code class="language-bash">pip install langchain langchain-openai python-dotenv</code>
  • Erstellen Sie eine .env-Datei:Speichern Sie Ihren OpenAI-API-Schlüssel sicher:
<code>OPENAI_API_KEY=your_api_key_here</code>

Erstellen eines Python-Ausführungsagenten

Eine entscheidende Agentenfunktion ist die Ausführung von Python-Code. Dies wird mit LangChains PythonREPLTool erreicht. Definieren wir den Agenten:

Anleitungsdesign

Die Arbeit des Agenten basiert auf einer Reihe von Anweisungen. Hier ist die Eingabeaufforderung:

<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>

Agent-Setup

Das REACT-Framework von LangChain erstellt diesen Agenten:

<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>

Dieser Agent führt Python-Code aus und gibt die Ergebnisse zurück.


CSV-Analyse zum Agent hinzufügen

Datenanalyse ist eine häufige Aufgabe von KI-Agenten. Durch die Integration von LangChains create_csv_agent kann unser Agent Daten aus CSV-Dateien abfragen und verarbeiten.

CSV-Agent-Setup

So fügen Sie CSV-Funktionen hinzu:

<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>

Dieser Agent beantwortet Fragen zu episode-info.csv, z. B. zur Anzahl der Zeilen/Spalten und zur Staffel mit den meisten Episoden.


Kombination von Tools für einen einheitlichen Agenten

Für mehr Vielseitigkeit kombinieren wir Python-Ausführung und CSV-Analyse in einem einzigen Agenten und ermöglichen so einen nahtlosen Werkzeugwechsel je nach Aufgabe.

Einheitliche Agentendefinition

<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>

Dieser Agent übernimmt sowohl die Python-Logik als auch die CSV-Datenanalyse.


Praxisbeispiel: Episodenanalyse einer Fernsehsendung

Testen wir den einheitlichen Agenten mit episode-info.csv:

<code class="language-bash">pip install langchain langchain-openai python-dotenv</code>

Der Agent analysiert die CSV und gibt mithilfe von Pandas die Staffel mit den meisten Episoden zurück.


Nächste Schritte und Schlussfolgerung

  • Experimentieren Sie mit mehr Tools und Datensätzen.
  • Entdecken Sie die Dokumentation von LangChain für eine erweiterte Agentenerstellung.

LangChain ermöglicht die Erstellung hochgradig angepasster intelligenter Agenten und vereinfacht so komplexe Arbeitsabläufe. Mit Tools wie dem Python REPL- und CSV-Agenten sind die Möglichkeiten enorm – von der Automatisierung der Datenanalyse bis zum Code-Debugging und darüber hinaus. Beginnen Sie noch heute mit dem Aufbau Ihres intelligenten Agenten!

Das obige ist der detaillierte Inhalt vonErstellen intelligenter Agenten mit LangChain und OpenAI: Ein Entwicklerhandbuch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn