Heim >Technologie-Peripheriegeräte >KI >Langgraph Tutorial: Was ist Langgraph und wie kann man es benutzen?

Langgraph Tutorial: Was ist Langgraph und wie kann man es benutzen?

Jennifer Aniston
Jennifer AnistonOriginal
2025-03-06 10:57:10749Durchsuche

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?

Mit

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.

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

hinzu

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)

Schritt 3: Kanten

festlegen

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")

Langgraph Tutorial: Was ist Langgraph und wie kann man es benutzen?

Schritt 5: Führen Sie den Chatbot

aus

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

Advanced Langgraph Features

Jetzt, da wir die Grundlagen behandelt haben, schauen wir uns einige erweiterte Funktionen an.

benutzerdefinierte Knotentypen

Mit

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.

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:

  1. Der vorgelagerte Knoten: Der Ausgang des Knotens entscheidet den nächsten Schritt.
  2. 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.
  3. 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)
Fehlerbehandlung

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.
reale Anwendungen von Langgraph

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn