Einen LangChain AI-Agenten mit Werkzeugen einrichten
Lernt, wie man einen intelligenten AI-Agenten mit LangChain erstellt, der externe Werkzeuge nutzen kann, um komplexe Aufgaben zu lösen, die über die reinen Fähigkeiten eines Sprachmodells hinausgehen. Dies ermöglicht dem Agenten, auf aktuelle Informationen zuzugreifen oder Berechnungen durchzuführen.
Originalvideo ansehen: The Two Best AI Models/Enemies Just Got Released Simultaneou...Notwendige Bibliotheken installieren.
Installieren Sie LangChain, die OpenAI-Bibliothek und duckduckgo-search für das Suchwerkzeug.
pip install langchain openai duckduckgo-searchOpenAI API-Schlüssel konfigurieren.
Setzen Sie Ihren OpenAI API-Schlüssel als Umgebungsvariable, damit LangChain darauf zugreifen kann.
import os
os.environ["OPENAI_API_KEY"] = "Ihre_OpenAI_API_Key"LLM (Large Language Model) initialisieren.
Erstellen Sie eine Instanz des Sprachmodells, das der Agent verwenden soll. Hier wird `ChatOpenAI` mit `gpt-3.5-turbo` verwendet.
from langchain.chat_models import ChatOpenAI
llm = ChatOpenAI(temperature=0, model="gpt-3.5-turbo-0613")Werkzeuge definieren.
Erstellen Sie Instanzen von Werkzeugen, die der Agent nutzen kann. Hier ein Suchwerkzeug und ein Taschenrechnerwerkzeug. Jedes Werkzeug benötigt einen Namen, eine Funktion und eine Beschreibung, damit der LLM seine Verwendung versteht.
from langchain.agents import Tool
from langchain.utilities import DuckDuckGoSearchAPIWrapper
from langchain.chains import LLMMathChain
search = DuckDuckGoSearchAPIWrapper()
search_tool = Tool(
name="Search",
func=search.run,
description="useful for when you need to answer questions about current events or facts."
)
calculator = LLMMathChain.from_llm(llm=llm, verbose=True)
calculator_tool = Tool(
name="Calculator",
func=calculator.run,
description="useful for when you need to answer questions about math."
)
tools = [search_tool, calculator_tool]Agent initialisieren.
Verwenden Sie `initialize_agent`, um den Agenten mit den definierten Werkzeugen, dem LLM und dem `AgentType.ZERO_SHOT_REACT_DESCRIPTION` (für das ReAct-Muster) einzurichten. Setzen Sie `verbose=True`, um den Denkprozess des Agenten zu sehen.
from langchain.agents import initialize_agent, AgentType
agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)Agent ausführen.
Geben Sie dem Agenten eine komplexe Anfrage, die die Nutzung mehrerer Werkzeuge erfordert. Beobachten Sie die Ausgabe, um zu sehen, wie der Agent die Aufgabe löst.
agent.run("What is the capital of France? What is its population? What is 123 * 456?")