LangChain OpenAI Functions Agent advanced coding 98% Usefulness

Einen LangChain AI-Agenten mit Gedächtnis und Tools aufbauen

Kombiniere ein LLM, Gedächtnis und externe Tools, um einen intelligenten LangChain-Agenten zu erstellen, der sich an Konversationen erinnert und Aufgaben mit Tools löst.

Originalvideo ansehen: Ich hab Claude Code Remote getestet - auf einem Server
6 Schritte
1

Installieren Sie die notwendigen Bibliotheken.

Stellen Sie sicher, dass `langchain`, `openai`, `python-dotenv` und alle für Ihre Tools erforderlichen Bibliotheken installiert sind.

pip install langchain openai python-dotenv
2

Initialisieren Sie das LLM, das Gedächtnis und die Tools.

Verwenden Sie die zuvor gelernten Schritte, um Ihr `ChatOpenAI`-Modell, `ConversationBufferMemory` und Ihre `Tool`-Instanzen (z.B. `google_search_tool`, `custom_hello_tool`) zu initialisieren.

import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain.memory import ConversationBufferMemory
from langchain.tools import Tool
from langchain_community.utilities import GoogleSearchAPIWrapper
from langchain.agents import AgentExecutor, create_openai_functions_agent
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder

load_dotenv()

llm = ChatOpenAI(model='gpt-3.5-turbo', temperature=0.7)
memory = ConversationBufferMemory(memory_key='chat_history', return_messages=True)

# Beispiel für Google Search Tool (ersetzen Sie mit Ihren tatsächlichen Tools)
search = GoogleSearchAPIWrapper(google_api_key=os.getenv('GOOGLE_API_KEY'), google_cse_id=os.getenv('GOOGLE_CSE_ID'))
google_search_tool = Tool(
    name='Google Search',
    description='Nützlich, um Fragen zu beantworten, die aktuelles Wissen erfordern.',
    func=search.run
)

def say_hello(name: str) -> str:
    return f"Hallo {name}!"
custom_hello_tool = Tool(
    name='say_hello',
    description='Nützlich, um Hallo zu einer Person zu sagen. Die Eingabe sollte der Name der Person sein.',
    func=say_hello
)

tools = [google_search_tool, custom_hello_tool]
3

Erstellen Sie den Prompt für den Agenten.

Der Prompt sollte Anweisungen für den Agenten enthalten und Platzhalter für die Chat-Historie und die Agenten-Zwischenschritte.

prompt = ChatPromptTemplate.from_messages([
    ('system', 'Du bist ein hilfreicher Assistent.'),
    MessagesPlaceholder(variable_name='chat_history'),
    ('user', '{input}'),
    MessagesPlaceholder(variable_name='agent_scratchpad')
])
Tipp: `agent_scratchpad` ist für die internen Gedanken und Aktionen des Agenten.
4

Erstellen Sie den Agenten.

Verwenden Sie `create_openai_functions_agent` mit dem LLM, den Tools und dem Prompt.

agent = create_openai_functions_agent(llm, tools, prompt)
5

Erstellen Sie den Agent Executor.

Der `AgentExecutor` ist die Laufzeitumgebung, die den Agenten ausführt. Übergeben Sie den Agenten, die Tools und das Gedächtnis.

agent_executor = AgentExecutor(agent=agent, tools=tools, memory=memory, verbose=True)
Tipp: Setzen Sie `verbose=True`, um die internen Schritte des Agenten zu sehen, was beim Debugging sehr hilfreich ist.
6

Interagieren Sie mit dem Agenten.

Rufen Sie den Agenten mit `agent_executor.invoke()` auf und übergeben Sie Ihre Eingabe.

response = agent_executor.invoke({'input': 'Hallo, mein Name ist Bob. Wie ist das Wetter in Berlin?'})
print(response['output'])

response2 = agent_executor.invoke({'input': 'Kannst du mir mehr über die Temperatur dort erzählen?'})
print(response2['output'])

response3 = agent_executor.invoke({'input': 'Sag mir Hallo mit meinem Namen.'})
print(response3['output'])
Warnung: Die Antworten des Agenten können variieren und hängen von der Qualität der Tools und der Prompt-Anweisungen ab.
← Alle Playbooks anzeigen