


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.
Was ist Langgraph?
MitLanggraph 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.
Graph -Struktur
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.
Staatsmanagement
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.
Koordination
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.
Warum Langgraph?
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.
vereinfachte Entwicklung
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!
Flexibilität
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.
Skalierbarkeit
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.
Fehlertoleranz
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.
Erste Schritte mit Langgraph
Mal sehen, wie wir Langgraph aufstellen können und was die grundlegenden Konzepte sind.
Installation
Um Langgraph zu installieren, können Sie PIP verwenden:
pip install -U langgraph
grundlegende Konzepte
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.
- interagieren mit einem LLM
- Aufrufen eines Tools oder einer API
- einige Datenmanipulation durchführen
- Empfangen von Benutzereingaben
- Geschäftslogik ausführen
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:
halten- Konversationshistorie: Eine Liste von Nachrichten zwischen dem Agenten und dem Benutzer.
- Kontextdaten: Informationen, die für die aktuelle Aufgabe oder Interaktion relevant sind.
- interne Variablen: Flags, Zähler oder andere Variablen, um den Fortschritt und das Verhalten des Agenten zu verfolgen.
Erstellen einer einfachen Langgraph -Anwendung
Hier ist ein Schritt-für-Schritt-Beispiel für das Erstellen einer grundlegenden Chatbot-Anwendung mit Langgraph.
Schritt 1: Definieren Sie den Zustandsgraf
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
Schritt 2: Initialisieren Sie ein LLM und fügen Sie es als Chatbot -Knoten
hinzuHier 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)
Schritt 3: Kanten
festlegenDa 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")
Schritt 5: Führen Sie den Chatbot
ausSchließ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
Advanced Langgraph Features
Jetzt, da wir die Grundlagen behandelt haben, schauen wir uns einige erweiterte Funktionen an.
benutzerdefinierte Knotentypen
MitLanggraph 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.
Kantentypen
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:
- Der vorgelagerte Knoten: Der Ausgang des Knotens entscheidet den nächsten Schritt.
- Eine Funktion: Diese Funktion bewertet den Ausgang des vorgelagerten Knotens und bestimmt den nächsten Knoten, der eine Zeichenfolge zurückgibt, die die Entscheidung darstellt.
- A Mapping: Dieses Mapping verknüpft die möglichen Ergebnisse der Funktion mit den entsprechenden Knoten, die ausgeführt werden sollen.
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!
Staatsmanagement
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)
Langgraph bietet auch Mechanismen für die Fehlerbehandlung:
- Ausnahmen: Knotenfunktionen können Ausnahmen von Signalfehlern während der Ausführung erhöhen. Sie können diese Ausnahmen fangen und bewältigen, um zu verhindern, dass Ihr Diagramm abstürzt.
- Wiederholungsmechanismen: Sie können die Wiederholungslogik in Ihren Knoten implementieren, um transiente Fehler wie Netzwerkprobleme oder API -Zeitüberschreitungen zu verarbeiten.
- Protokollierung: Verwenden Sie die Protokollierung, um Fehler aufzuzeichnen und die Ausführung Ihres Diagramms zu verfolgen.
Langgraph kann verwendet werden, um eine Vielzahl von Anwendungen zu erstellen.
Chatbots
Langgraph ist ideal für die Entwicklung von ausgefeilten Chatbots, die eine breite Palette von Benutzeranfragen verarbeiten können. Durch die Nutzung mehrerer LLM -Agenten können diese Chatbots natürliche Sprachabfragen verarbeiten, genaue Antworten liefern und nahtlos zwischen verschiedenen Gesprächsthemen wechseln. Die Fähigkeit, Status zu verwalten und Interaktionen zu koordinieren, stellt sicher, dass der Chatbot den Kontext beibehält und eine kohärente Benutzererfahrung liefert.
autonome Agenten
Für Anwendungen, die autonome Entscheidungsfindung erfordern, ermöglicht Langgraph die Erstellung von Agenten, die Aufgaben unabhängig auf Benutzereingaben und vordefinierten Logik ausführen können.
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.
Multi-Agent-Systeme
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.
Workflow -Automatisierungswerkzeuge
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.
Empfehlungssysteme
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.
Personalisierte Lernumgebungen
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.
Schlussfolgerung
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Während der Arbeit an Agentic AI navigieren Entwickler häufig die Kompromisse zwischen Geschwindigkeit, Flexibilität und Ressourceneffizienz. Ich habe den Agenten-KI-Framework untersucht und bin auf Agno gestoßen (früher war es phi-

SQL -Änderungstabellanweisung: Dynamisches Hinzufügen von Spalten zu Ihrer Datenbank Im Datenmanagement ist die Anpassungsfähigkeit von SQL von entscheidender Bedeutung. Müssen Sie Ihre Datenbankstruktur im laufenden Flug anpassen? Die Änderungstabelleerklärung ist Ihre Lösung. Diese Anleitung Details Hinzufügen von Colu

Die Veröffentlichung umfasst drei verschiedene Modelle, GPT-4.1, GPT-4.1 Mini und GPT-4.1-Nano, die einen Zug zu aufgabenspezifischen Optimierungen innerhalb der Landschaft des Großsprachenmodells signalisieren. Diese Modelle ersetzen nicht sofort benutzergerichtete Schnittstellen wie

Schwierige Benchmarks: Eine Lama -Fallstudie Anfang April 2025 stellte Meta seine Lama 4-Suite von Models vor und stellte beeindruckende Leistungsmetriken vor, die sie positiv gegen Konkurrenten wie GPT-4O und Claude 3.5 Sonnet positionierten. Zentral im Launc

Schalte die Kraft des Einbettungsmodelle frei: einen tiefen Eintauchen in den neuen Kurs von Andrew Ng Stellen Sie sich eine Zukunft vor, in der Maschinen Ihre Fragen mit perfekter Genauigkeit verstehen und beantworten. Dies ist keine Science -Fiction; Dank der Fortschritte in der KI wird es zu einem R

Kann ein Videospiel Angst erleichtern, Fokus aufbauen oder ein Kind mit ADHS unterstützen? Da die Herausforderungen im Gesundheitswesen weltweit steigen - insbesondere bei Jugendlichen - wenden sich Innovatoren einem unwahrscheinlichen Tool zu: Videospiele. Jetzt einer der größten Unterhaltungsindus der Welt

Simulieren Raketenstarts mit Rocketpy: Eine umfassende Anleitung Dieser Artikel führt Sie durch die Simulation von Rocketpy-Starts mit hoher Leistung mit Rocketpy, einer leistungsstarken Python-Bibliothek. Wir werden alles abdecken, von der Definition von Raketenkomponenten bis zur Analyse von Simula

Gemini als Grundlage der KI -Strategie von Google Gemini ist der Eckpfeiler der AI -Agentenstrategie von Google und nutzt seine erweiterten multimodalen Funktionen, um Antworten auf Text, Bilder, Audio, Video und Code zu verarbeiten und zu generieren. Entwickelt von Deepm
