Einführung

LangChain ist ein Open-Source Python AI-Anwendungs-Entwicklungs-Framework, das Module und Werkzeuge zur Erstellung von KI-Anwendungen auf der Grundlage großer Modelle bereitstellt. Durch LangChain können Entwickler problemlos mit Large Language Models (LLMs) integrieren, um Aufgaben wie Textgenerierung, Fragebeantwortung, Übersetzung und Dialoge zu erledigen. LangChain senkt die Hürde für die Entwicklung von KI-Anwendungen und ermöglicht es jedem, kreative Anwendungen auf der Grundlage von LLMs zu erstellen.

Funktionen von LangChain:

  • LLM und Prompt: LangChain abstrahiert alle APIs großer LLM-Modelle, vereinheitlicht den Zugriff auf die API großer Modelle und stellt einen Mechanismus zur Verwaltung von Prompt-Vorlagen bereit.
  • Chain: LangChain kapselt einige gängige Szenarien in vorgefertigte Module ein, wie z.B. kontextbasierte Frage-Antwort-Systeme, natürliche Sprachgenerierung von SQL-Abfragen usw., die "Chain" genannt werden, weil der Prozess zur Umsetzung dieser Aufgaben einem Arbeitsablauf ähnelt, der schrittweise ausgeführt wird.
  • LCEL: LangChain Expression Language (LCEL) ist das Kernmerkmal der neuen Version von LangChain und wird zur Lösung von Workflow-Orchestrierungsproblemen verwendet. Durch LCEL-Ausdrücke können wir den KI-Aufgabenverarbeitungsfluss flexibel anpassen, d.h. die "Chain" flexibel anpassen.
  • Retrieval Augmented Generation (RAG): Da Large Language Models (LLMs) neue Informationen nicht verstehen und neue Fragen nicht beantworten können, können wir neue Informationen in LLM importieren, um die Qualität des generierten Inhalts zu verbessern. Diese Methode wird RAG-Modus (Retrieval Augmented Generation) genannt.
  • Agenten: Ein Designmuster, das auf Large Language Models (LLMs) basiert und die natürliche Sprachverarbeitung und Schlussfolgerungsfähigkeiten von LLMs (LLM als Gehirn) nutzt, um externe Systeme und Geräte automatisch zusammenzurufen und Aufgaben entsprechend den Benutzeranforderungen zu erledigen. Wenn z.B. ein Benutzer "morgen einen Tag frei nehmen" eingibt, ruft das Large Language Model (LLM) automatisch das Urlaubssystem auf und initiiert einen Urlaubsantrag.
  • Model Memory: Ermöglicht es dem Large Language Model (LLM), sich an frühere Konversationsinhalte zu erinnern, eine Fähigkeit, die als Modellgedächtnis bekannt ist.

LangChain Framework-Komponenten

LangChain Framework Komponenten

Das LangChain-Framework besteht aus mehreren Komponenten, darunter:

  • LangChain Bibliothek: Python und JavaScript-Bibliotheken. Sie umfassen die Laufzeitgrundlage für Schnittstellen und die Integration verschiedener Komponenten sowie die Implementierung von vorgefertigten Chains und Agenten.
  • LangChain Vorlagen: Offizielle KI-Aufgabenvorlagen, die von LangChain bereitgestellt werden.
  • LangServe: Basierend auf FastAPI veröffentlicht es die von LangChain definierten Chains als REST-APIs.
  • LangSmith: Eine Entwicklungsumgebung und ein Cloud-Service, die das Debuggen und die Aufgabenüberwachung von LangChain unterstützen.

LangChain-Bibliothek (Bibliotheken)

Die LangChain-Bibliothek selbst besteht aus mehreren verschiedenen Paketen.

  • langchain-core: Grundlegende Abstraktionen und LangChain Expression Language.
  • langchain-community: Integrationen von Drittanbietern, die hauptsächlich Drittanbieterkomponenten integrieren, die mit LangChain verbunden sind.
  • langchain: Enthält hauptsächlich Chains, Agenten und Abrufstrategien.

Langchain Task Processing Flow

Wie im obigen Bild gezeigt, stellt LangChain ein Werkzeugset zur Verwaltung von Prompt-Vorlagen für die Handhabung von Prompts bereit. Anschließend leitet es die Prompts an das große Modell zur Verarbeitung weiter und verarbeitet schließlich die vom großen Modell zurückgegebenen Ergebnisse.

Die Kapselung des großen Modells durch LangChain umfasst hauptsächlich zwei Typen: LLM und Chat-Modell.

  • LLM - Frage-Antwort-Modell, das eine Texteingabe erhält und ein Textergebnis zurückgibt.
  • Chat-Modell - Dialogmodell, das eine Reihe von Dialognachrichten erhält und Dialognachrichten in einer Konversationsform zurückgibt.

Kernkonzepte

1. LLMs

Die grundlegenden Modelle, die von LangChain kapsuliert werden und eine Texteingabe erhalten und ein Textergebnis zurückgeben.

2. Chat-Modelle

Chat-Modelle (oder Dialogmodelle), die speziell für Dialogszenarien entwickelt wurden, im Gegensatz zu LLMs. Diese Modelle können eine Reihe von Dialognachrichten erhalten und Dialognachrichten in einem Konversationsformat zurückgeben.

3. Nachrichten

Bezieht sich auf den Inhalt von Nachrichten in Chat-Modellen. Nachrichtentypen umfassen HumanMessage, AIMessage, SystemMessage, FunctionMessage, ToolMessage und andere.

4. Prompts

LangChain kapselt eine Reihe von Werkzeugen speziell für das Prompt-Management ein, um es uns zu erleichtern, Prompt-Inhalte zu formatieren.

5. Output-Parsers

Wie im obigen Bild erwähnt, kann LangChain nachdem es den vom großen Modell (LLM) zurückgegebenen Textinhalt empfangen hat, dedizierte Output-Parsertools verwenden, um den Textinhalt zu formatieren, wie z.B. das Parsen von JSON oder die Umwandlung der Ausgabe des LLM in ein Python-Objekt.

5. Retrievers

Um private Daten einfach in das große Modell (LLM) zu importieren und die Qualität der Modellantworten zu verbessern, kapselt LangChain einen Abrufrahmen (Retrievers) ein, der das Laden, die Segmentierung, Speicherung und den Abruf von Dokumentdaten erleichtert.

6. Vektorspeicher

Um semantische Ähnlichkeitssuchen für private Daten zu unterstützen, unterstützt LangChain verschiedene Vektordatenbanken.

7. Agenten

Agenten, die in der Regel auf Anwendungen verweisen, die mit dem großen Modell (LLM) als Entscheidungsmaschine entworfen wurden, rufen automatisch externe Systeme und Hardwaregeräte auf, um Benutzeraufgaben basierend auf Benutzereingaben zu vervollständigen. Es handelt sich um ein Entwurfsmuster mit dem großen Modell (LLM) im Mittelpunkt.

Anwendungsszenarien

  • Chatbots: Aufbau intelligenter Chat-Assistenten, Kundendienst-Chatbots und Konversations-Chatbots.
  • Wissensbasis-F&A: Bereitstellung von Open-Domain-Frage-Antwort-Diensten durch Integration mit Wissensgraphen.
  • Intelligentes Schreiben: Wie beispielsweise Artikel schreiben, kreatives Schreiben und Textzusammenfassung.