Erstellen Sie einen Informationsabruf-Chatbot mit KI-Agenten
Einführung
In diesem Tutorial führen wir Sie durch den Prozess der Erstellung eines anspruchsvollen Chatbots für den Informationsabruf mithilfe von KI-Agenten. Entdecken Sie die Schritte, um die Macht der KI zu nutzen und einen Chatbot zu erstellen, der effizient Daten aus verschiedenen Quellen abrufen kann.
Einrichten der Umgebung
Unser Plan ist es, einen Chatbot mit KI-Agenten (LangChain) zu erstellen, mit einer einfachen Benutzeroberfläche unter Verwendung von Chainlit. Wir möchten, dass unser Chatbot auf eine Anfrage in zwei Phasen reagiert: Planung und Abruf, wobei der Agent Zugriff auf Wikipedia und Websuche hat.
Vorbereitung & Abhängigkeiten
Beginnen wir mit der Erstellung eines neuen Projekts. Beginnen Sie mit der Erstellung eines neuen Verzeichnisses:
mkdir chatbot_project
cd chatbot_project
Als Nächstes erstellen Sie eine virtuelle Umgebung und installieren die erforderlichen Abhängigkeiten:
python -m venv venv
source venv/bin/activate # Für Linux/Mac
venv\Scripts\activate # Für Windows
pip install chainlit langchain
Jetzt können wir unsere app.py
Datei erstellen (dieser Name wird von Chainlit benötigt):
touch app.py
Der letzte Schritt besteht darin, unsere Abhängigkeiten in app.py
zu importieren:
import os
from langchain.chat_models import ChatOpenAI
from langchain.agents import create_openai_functions_agent
from langchain.tools import DuckDuckGoSearchResults, WikipediaAPIWrapper
Haftungsausschluss: Es wird empfohlen, Ihre Umgebungsvariablen in einer .env
Datei oder direkt im Code zu definieren.
Coding
Jetzt ist es an der Zeit, unser Sprachmodell (LLM) und die Tools zu initialisieren. In diesem Tutorial verwende ich GPT-4, aber fühlen Sie sich frei, ein anderes Modell zu verwenden, wenn Sie möchten. Wir werden DuckDuckGoSearchRun
und WikipediaAPIWrapper
als unsere Tools verwenden.
Vorbereitung von Prompt-Vorlagen
Der nächste Schritt besteht darin, die PromptTemplates vorzubereiten. Wir werden zwei erstellen: eine für den Planungsprozess und eine zur Generierung der endgültigen Antwort.
planning_prompt = "Plane die Antwort auf die Anfrage: {query}"
response_prompt = "Generiere die endgültige Antwort basierend auf: {plan}"
Initiieren des Agenten und der Planungskette
Jetzt ist es an der Zeit, den Agenten und die Planungskette zu initiieren. Wir werden auch Speicher einbauen, damit der Agent Informationen über vorherige Nachrichten behalten kann.
memory = ConversationBufferMemory()
chain = create_openai_functions_agent(
llm=ChatOpenAI(model_name='gpt-4'),
tools=[DuckDuckGoSearchResults(), WikipediaAPIWrapper()],
verbose=True,
memory=memory
)
UI-Teil
Als Nächstes werden wir die Benutzeroberfläche mit Chainlit erstellen. Ich werde eine Fabrikfunktion verwenden, um unseren Agenten an Chainlit zu übergeben. Bevor ich jedoch diese Fabrikfunktion aufrufe, führt Chainlit eine Funktion aus, die die Eingabepipeline für das Modell vorbereitet. Ich werde dies überschreiben, um den Fluss leicht zu ändern: Ich möchte zuerst die Planung ausführen und dann die Antwort generieren.
@chainlit.on_message
async def main(message: str):
plan = chain.run(planning_prompt.format(query=message))
response = chain.run(response_prompt.format(plan=plan))
await chainlit.send_message(response)
Ergebnisse!
Jetzt können wir unsere Anwendung testen. Starten Sie die Anwendung, begrüßen Sie sie und stellen Sie dann eine Frage:
chainlit run app.py
Lassen Sie uns sehen, welche Antwort wir erhalten!
Bravo! Lassen Sie uns tiefer eintauchen
Wunderbar! Wie Sie gesehen haben, umging das Modell zunächst die Planung, bis es dazu aufgefordert wurde. Dann organisierte es effektiv Aufgaben und formulierte eine Antwort, genau wie beabsichtigt!
Gehen Sie voran und bauen Sie Ihre einzigartigen KI-Agenten-Anwendungen und verpassen Sie nicht unseren bevorstehenden AI Agents Hackathon, der am 9. Juni beginnt. Erweitern Sie Ihr Wissen mit unseren KI-Tutorials und gestalten Sie die Zukunft mit der Macht der KI!
Hinterlasse einen Kommentar
Alle Kommentare werden vor der Veröffentlichung geprüft.
Diese Website ist durch hCaptcha geschützt und es gelten die allgemeinen Geschäftsbedingungen und Datenschutzbestimmungen von hCaptcha.