Heim >Technologie-Peripheriegeräte >KI >Langgraph Tutorial: Was ist Langgraph und wie kann man es benutzen?
Stellen Sie sich vor, Sie erstellen eine komplexe, Multi-Agent-Großsprachmodell (LLM). Es ist aufregend, aber es kommt mit Herausforderungen verbunden: Verwaltung des Zustands verschiedener Agenten, der Koordinierung ihrer Interaktionen und der effektiven Behandlung von Fehlern. Hier kann Langgraph helfen.
Langgraph ist eine Bibliothek innerhalb des Langchain-Ökosystems, mit der diese Herausforderungen direkt angehen sollen. Langgraph bietet einen Rahmen für die Definition, Koordination und Ausführung mehrerer LLM -Wirkstoffe (oder Ketten) in strukturierter Weise.
vereinfacht den Entwicklungsprozess, indem es die Erstellung von zyklischen Graphen ermöglicht, die für die Entwicklung von Agenten von wesentlicher Bedeutung sind. Mit Langgraph können wir leicht robuste, skalierbare und flexible Multi-Agent-Systeme aufbauen.
Wenn Sie mehr über das Langchain -Ökosystem erfahren möchten, empfehle ich diese Einführung in Langchain.
Langgraph können wir staatliche, Multi-Actor-Anwendungen erstellen, die LLMs so einfach wie möglich verwenden. Es erweitert die Fähigkeiten von Langchain und führt die Fähigkeit ein, zyklische Graphen zu erstellen und zu verwalten, die für die Entwicklung von ausgefeilten Agentenlaufzeiten entscheidend sind. Zu den Kernkonzepten von Langgraph gehören: Diagrammstruktur, Zustandsmanagement und Koordination.
Stellen Sie sich Ihre Anwendung als angegebenes Diagramm vor. In Langgraph repräsentiert jeder Knoten einen LLM -Agenten, und die Kanten sind die Kommunikationskanäle zwischen diesen Agenten. Diese Struktur ermöglicht klare und überschaubare Workflows, bei denen jeder Agent bestimmte Aufgaben ausführt und Informationen nach Bedarf an andere Agenten weitergibt.
Eine der herausragenden Funktionen von Langgraph ist das automatische staatliche Management. Diese Funktion ermöglicht es uns, Informationen über mehrere Interaktionen hinweg zu verfolgen und zu bestehen. Wenn Agenten ihre Aufgaben ausführen, wird der Zustand dynamisch aktualisiert, um sicherzustellen, dass das System den Kontext beibehält und angemessen auf neue Eingaben reagiert.
Langgraph stellt sicher, dass Agenten in der richtigen Reihenfolge ausgeführt werden und dass die erforderlichen Informationen nahtlos ausgetauscht werden. Diese Koordination ist für komplexe Anwendungen von entscheidender Bedeutung, bei denen mehrere Agenten zusammenarbeiten müssen, um ein gemeinsames Ziel zu erreichen. Durch die Verwaltung des Datenflusss und der Abfolge von Operationen ermöglicht Langgraph es Entwicklern, sich eher auf die hochrangige Logik ihrer Anwendungen als auf die Feinheiten der Agentenkoordination zu konzentrieren.
Wie ich oben erwähnt habe, bietet LangGraph den Entwicklern, die mit komplexen LLM -Anwendungen arbeiten, mehrere wichtige Vorteile. Hier sind einige der realen Vorteile, die Langgraph-Angebote anbieten.
Langgraph fasst die Komplexität ab, die mit der Koordination von Staatsmanagement und Agenten verbunden sind. Dies bedeutet, dass Entwickler ihre Arbeitsabläufe und ihre Logik definieren können, ohne sich über die zugrunde liegenden Mechanismen zu sorgen, die die Datenkonsistenz und die ordnungsgemäße Ausführungsreihenfolge gewährleisten. Diese Vereinfachung beschleunigt den Entwicklungsprozess und verringert die Wahrscheinlichkeit von Fehlern. Es ist ein Game-Changer!
Mit Langgraph haben Entwickler die Flexibilität, ihre eigenen Agentenlogik- und Kommunikationsprotokolle zu definieren. Dies ermöglicht hoch angepasste Anwendungen, die auf bestimmte Anwendungsfälle zugeschnitten sind. Unabhängig davon, ob Sie einen Chatbot benötigen, der verschiedene Arten von Benutzeranforderungen oder ein Multi-Agent-System verarbeiten kann, das komplexe Aufgaben ausführt, stellt Langgraph die Tools zur Verfügung, um genau das zu erstellen, was Sie benötigen. Es geht darum, Ihnen die Kraft zu erstellen.
langgraph wurde entwickelt, um die Ausführung großer Multi-Agent-Anwendungen zu unterstützen. Die robuste Architektur kann ein hohes Volumen an Interaktionen und komplexen Workflows bewältigen und die Entwicklung skalierbarer Systeme ermöglichen, die mit Ihren Anforderungen wachsen können. Dies macht es für Anwendungen und Szenarien auf Unternehmensebene geeignet, in denen Leistung und Zuverlässigkeit kritisch sind.
Zuverlässigkeit ist eine zentrale Überlegung bei der Gestaltung von Langgraph. Die Bibliothek umfasst Mechanismen zum anmutigen Umgang mit Fehlern und sicherzustellen, dass Ihre Anwendung auch dann weiter funktionieren kann, wenn einzelne Agenten auf Probleme stoßen. Diese Fehlertoleranz ist für die Aufrechterhaltung der Stabilität und Robustheit komplexer Multi-Agent-Systeme unerlässlich. Seelenfrieden ist nur ein Merkmal entfernt.
Mal sehen, wie wir Langgraph aufstellen können und was die grundlegenden Konzepte sind.
Um Langgraph zu installieren, können Sie PIP verwenden:
pip install -U langgraph
Knoten: Knoten repräsentieren Einheiten der Arbeiten in Ihrem Langgraph. Sie sind in der Regel Python -Funktionen, die eine bestimmte Aufgabe ausführen, wie z. B.
In Langgraph können Sie Knoten mit der Graph.add_node (Name, Wert) Syntax hinzufügen.
Kanten: Kanten sind Kommunikationskanäle zwischen Knoten. Sie definieren den Informationsfluss und die Reihenfolge der Ausführung. Sie können Kanten mit der Graph.add_Edge (Node1, Node2) -Syntax hinzufügen.
Status: Der Zustand ist ein zentrales Objekt, das über die Zeit von den Knoten in der Grafik aktualisiert wird. Es verwaltet den internen Status Ihrer Anwendung und kann je nach Anforderungen der Anwendung überschrieben oder hinzugefügt werden. Dieser Zustand kann Dinge wie:
haltenHier ist ein Schritt-für-Schritt-Beispiel für das Erstellen einer grundlegenden Chatbot-Anwendung mit Langgraph.
Definieren Sie ein Stategraphobjekt, um den Chatbot als Statusmaschine zu strukturieren. Der Status ist ein Klassenobjekt, das mit einer einzigen Schlüsselmeldungen der Typ -Liste definiert ist und die Funktion add_messages () verwendet, um neue Nachrichten anzuhängen, anstatt sie zu überschreiben.
pip install -U langgraph
Hier initialisieren wir das Azurechatopenai -Modell und erstellen eine einfache Chatbot -Funktion, die die Statusmeldungen als Eingabe aufnimmt, und generiert eine Nachrichtenantwort (die anschließend an den Status angehängt wird).
Diese Chatbot -Funktion wird als Knoten mit dem Namen "Chatbot" zum Diagramm hinzugefügt.
from typing import Annotated from typing_extensions import TypedDict from langgraph.graph import StateGraph from langgraph.graph.message import add_messages class State(TypedDict): # messages have the type "list". # The add_messages function appends messages to the list, rather than overwriting them messages: Annotated[list, add_messages] graph_builder = StateGraph(State)
Da wir einen einfachen Chatbot erstellen, setzen wir den Chatbot -Knoten sowohl als Eintrags- als auch beenden Punkte des Diagramms, um anzugeben, wo Sie den Vorgang starten und beenden sollen.
from langchain_openai import AzureChatOpenAI llm = AzureChatOpenAI( openai_api_version=os.environ["AZURE_OPENAI_API_VERSION"], azure_deployment=os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"], ) def chatbot(state: State): return {"messages": [llm.invoke(state["messages"])]} ‘’’The first argument is the unique node name # The second argument is the function or object that will be called whenever the node is used.’’’ graph_builder.add_node("chatbot", chatbot)
Schritt 4: Kompilieren und visualisieren Sie den Diagramm
Kompilieren Sie das Diagramm, um ein kompiliertes Graph -Objekt zu erstellen. Optional können wir die Graphenstruktur mit dem folgenden Code visualisieren:
# Set entry and finish points graph_builder.set_entry_point("chatbot") graph_builder.set_finish_point("chatbot")
Schließlich implementieren wir eine Schleife, um den Benutzer kontinuierlich auf Eingabe zu fordern, sie durch die Grafik zu verarbeiten und die Antwort des Assistenten auszudrucken. Die Schleife beendet, wenn der Benutzer "beenden", "beenden" oder "q".
graph = graph_builder.compile() from IPython.display import Image, display try: display(Image(graph.get_graph().draw_mermaid_png())) except Exception: pass
Jetzt, da wir die Grundlagen behandelt haben, schauen wir uns einige erweiterte Funktionen an.
Langgraph können Sie benutzerdefinierte Knotentypen erstellen, um eine komplexe Agentenlogik zu implementieren. Dies bietet Flexibilität und Kontrolle über das Verhalten Ihrer Anwendung.
# Run the chatbot while True: user_input = input("User: ") if user_input.lower() in ["quit", "exit", "q"]: print("Goodbye!") break for event in graph.stream({"messages": [("user", user_input)]}): for value in event.values(): print("Assistant:", value["messages"][-1].content)
Hier definieren wir eine Klassenmycustomnode, die benutzerdefinierte Logik zusammenfasst und mit dem LLM interagiert. Dies bietet eine strukturiertere und wartbarere Möglichkeit, komplexes Knotenverhalten zu implementieren.
Langgraph unterstützt verschiedene Kantentypen, um verschiedene Kommunikationsmuster zwischen Knoten zu verarbeiten. Ein nützlicher Typ ist die bedingte Kante, die eine Entscheidungsfindung basierend auf der Ausgabe eines Knotens ermöglicht.
Um eine bedingte Kante zu erstellen, benötigen Sie drei Komponenten:
Hier ist ein Beispiel in Pseudocode:
pip install -U langgraph
Hier können wir nach dem Aufrufen des "Modell" -Knotens entweder das Diagramm ("Ende") beenden und zum Benutzer zurückkehren, oder wir können fortfahren ("Fortsetzung") und ein Tool aufrufen - abhängig davon, was der Benutzer entscheidet!
LangGraph bietet leistungsstarke staatliche Managementtechniken, darunter die Verwendung externer Datenbanken wie SQLite, Postgresql und MongoDB oder Cloud -Speicherlösungen wie Amazon S3, Google Cloud -Speicher und Azure Blob -Speicher, um die State Ihres Agenten zu speichern und abzurufen, die Zuverlässigkeit und die Skalierbarkeit Ihres Agenten abzurufen.
Hier ist ein Beispiel für die Verwendung einer SQLite -Datenbank für die staatliche Verwaltung:
from typing import Annotated from typing_extensions import TypedDict from langgraph.graph import StateGraph from langgraph.graph.message import add_messages class State(TypedDict): # messages have the type "list". # The add_messages function appends messages to the list, rather than overwriting them messages: Annotated[list, add_messages] graph_builder = StateGraph(State)Fehlerbehandlung
Chatbots
autonome Agenten
Diese Agenten können komplexe Workflows ausführen, mit anderen Systemen interagieren und sich dynamisch an neue Informationen anpassen. Das strukturierte Framework von Langgraph stellt sicher, dass jeder Agent effizient und effektiv arbeitet, was es für Aufgaben wie automatisierter Kundensupport, Datenverarbeitung und Systemüberwachung geeignet ist.
Langgraph zeichnet sich in den Aufbau von Anwendungen aus, bei denen mehrere Agenten zusammenarbeiten, um ein gemeinsames Ziel zu erreichen. Beispielsweise können verschiedene Agenten Inventar, Prozessaufträge und Koordinaten in einem Lieferkettenmanagementsystem verwalten. Die Koordinierungsfunktionen von Langgraph stellen sicher, dass jeder Agent effektiv kommuniziert, Informationen weitergeht und Entscheidungen synchronisiert trifft. Dies führt zu effizienteren Operationen und einer besseren Gesamtsystemleistung.
Mit Langgraph wird die Automatisierung von Geschäftsprozessen und Workflows unkompliziert. Intelligente Agenten können für die Behandlung von Aufgaben wie Dokumentenverarbeitung, Genehmigungsworkflows und Datenanalyse ausgelegt werden. Durch das Definieren klarer Workflows und die Nutzung von Langgraphs Staatsmanagement können diese Tools komplexe Aktionen ohne menschliche Intervention ausführen, Fehler verringern und die Produktivität steigern.
Personalisierte Empfehlungssysteme können von Langgraphs Fähigkeiten stark profitieren. Durch die Verwendung mehrerer Agenten zur Analyse von Benutzernverhalten, Präferenzen und Kontextdaten können diese Systeme maßgeschneiderte Vorschläge für Produkte, Inhalte oder Dienste liefern. Die Flexibilität von Langgraph ermöglicht die Integration verschiedener Datenquellen und -algorithmen, die Genauigkeit und Relevanz von Empfehlungen zu verbessern.
In Bildungsplattformen kann LangGraph verwendet werden, um adaptive Lernumgebungen zu schaffen, die sich an individuelle Lernstile und -bedürfnisse richten. Mehrere Agenten können den Fortschritt eines Schülers bewerten, maßgeschneiderte Übungen bereitstellen und Feedback in Echtzeit geben. Die staatliche Natur von Langgraph stellt sicher, dass das System Informationen über die Leistung und die Vorlieben jedes Lernenden behält und eine personalisiertere und effektivere Bildungserfahrung ermöglicht.
langgraph vereinfacht die Entwicklung komplexer LLM -Anwendungen erheblich, indem ein strukturiertes Rahmen für die Verwaltung von Status und Koordinierungsverträglichkeitsinteraktionen bereitgestellt wird.
potenzielle Entwicklungen für Langgraph umfassen die Integration mit anderen Langchain -Komponenten, die Unterstützung neuer LLM -Modelle und die Einführung fortgeschrittenerer Agenten -Laufzeiten aus der Wissenschaft.
Wenn Sie mehr über die Entwicklung von Anwendungen innerhalb des Langchain -Ökosystems erfahren möchten, empfehle ich diesen Kurs zur Entwicklung von LLM -Anwendungen mit Langchain.
Das obige ist der detaillierte Inhalt vonLanggraph Tutorial: Was ist Langgraph und wie kann man es benutzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!