LangChain Agenten mit Tools und Gedächtnis initialisieren und ausführen
Zeigt, wie man einen LangChain-Agenten unter Verwendung eines LLMs, einer Liste von Tools und eines Gedächtnisses initialisiert und dann Interaktionen mit ihm durchführt, um komplexe Aufgaben zu lösen.
Originalvideo ansehen: One man just liberated Fable... and now it’s illegalImportieren Sie die notwendigen Klassen für den Agenten.
from langchain.agents import initialize_agent, AgentType
from langchain.utilities import SerpAPIWrapper
# ... (Importe für Ihre benutzerdefinierten Tools und Gedächtnis)Bereiten Sie die Liste der Tools vor.
Fügen Sie alle benutzerdefinierten Tools (siehe Tip 3) und ggf. vordefinierte Tools wie 'SerpAPIWrapper' zu einer Liste hinzu.
# Beispiel für die Tool-Liste (angenommen, stock_price_tool, company_info_tool, financial_statements_tool sind definiert)
search = SerpAPIWrapper()
tools = [
Tool(name="Search", func=search.run, description="Nützlich für allgemeine Fragen und Web-Suche."),
stock_price_tool,
company_info_tool,
financial_statements_tool
]Bereiten Sie das Gedächtnis vor.
Verwenden Sie das Kurzzeitgedächtnis (z.B. `ConversationBufferMemory`) und/oder das Langzeitgedächtnis (z.B. `VectorStoreRetrieverMemory`) und übergeben Sie es dem Agenten.
# Beispiel für Kurzzeitgedächtnis (siehe Tip 4)
from langchain.memory import ConversationBufferMemory
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
# Wenn Sie auch Langzeitgedächtnis verwenden möchten, können Sie es hier kombinieren oder separat übergeben, je nach Agententyp.Initialisieren Sie den Agenten.
Verwenden Sie `initialize_agent`, übergeben Sie die Tools, das LLM, den Agententyp und das Gedächtnis. Setzen Sie `verbose=True`, um den Denkprozess des Agenten zu sehen, was beim Debuggen sehr hilfreich ist.
agent_chain = initialize_agent(
tools,
llm,
agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION, # Ideal für Chatbots mit Gedächtnis
verbose=True,
memory=memory
)Führen Sie den Agenten mit einer Anfrage aus.
Rufen Sie die `run`-Methode des Agenten auf und übergeben Sie Ihre Benutzeranfrage. Beobachten Sie die Ausgabe, um zu sehen, wie der Agent plant, Tools nutzt und antwortet.
agent_chain.run(input="Was ist der aktuelle Aktienkurs von Apple?")
agent_chain.run(input="Erzähle mir mehr über dieses Unternehmen.")