Introduction

LangChain est un framework de développement d'applications d'IA Python open source qui fournit des modules et des outils pour construire des applications d'IA basées sur de grands modèles. À travers LangChain, les développeurs peuvent facilement intégrer de grands modèles linguistiques (LLMs) pour accomplir des tâches telles que la génération de texte, la réponse aux questions, la traduction et le dialogue. LangChain abaisse la barrière au développement d'applications d'IA, permettant à n'importe qui de créer ses propres applications créatives basées sur LLM.

Caractéristiques de LangChain:

  • LLM et Prompt: LangChain abstrait toutes les API des grands modèles LLM, unifie l'API d'accès des grands modèles et fournit un mécanisme de gestion de modèles de prompt.
  • Chain: LangChain encapsule certains scénarios courants dans des modules préfabriqués, tels que des systèmes de réponse aux questions basés sur le contexte, la génération de langage naturel de requêtes SQL, et ainsi de suite, nommés "Chain" car le processus de mise en œuvre de ces tâches est semblable à un flux de travail, exécuté étape par étape.
  • LCEL: LangChain Expression Language (LCEL) est la fonctionnalité essentielle de la nouvelle version de LangChain, utilisée pour résoudre les problèmes d'orchestration des flux de travail. À travers les expressions LCEL, nous pouvons personnaliser de manière flexible le flux de traitement des tâches d'IA, c'est-à-dire personnaliser de manière flexible la "Chain".
  • Generation Augmentée par Récupération (GAR): Parce que les grands modèles linguistiques (LLMs) ne comprennent pas de nouvelles informations et ne peuvent pas répondre à de nouvelles questions, nous pouvons importer de nouvelles informations dans le LLM pour améliorer la qualité du contenu généré. Ce mode est appelé mode GAR (Generation Augmentée par Récupération).
  • Agents: Un motif de conception basé sur les grands modèles linguistiques (LLMs) qui utilisent la compréhension et les capacités de raisonnement en langage naturel du LLM (LLM comme cerveau) pour appeler automatiquement des systèmes et des appareils externes afin d'accomplir des tâches basées sur les besoins de l'utilisateur. Par exemple, lorsque l'utilisateur saisit "prendre un jour de congé demain", le grand modèle linguistique (LLM) appelle automatiquement le système de congé et lance une demande de congé.
  • Mémoire du Modèle: Permet au grand modèle linguistique (LLM) de se souvenir du contenu des conversations précédentes, une capacité connue sous le nom de mémoire du modèle.

Composants du Cadre LangChain

Composants du Cadre LangChain

Le cadre LangChain se compose de plusieurs composants, notamment:

  • Bibliothèque LangChain: Bibliothèques Python et JavaScript. Elle inclut les bases d'exécution pour les interfaces et l'intégration de divers composants, ainsi que la mise en œuvre de chaînes et d'agents préfabriqués.
  • Modèles LangChain: Modèles officiels de tâches d'IA fournis par LangChain.
  • LangServe: Basé sur FastAPI, il peut publier les chaînes définies par LangChain en tant qu'API REST.
  • LangSmith: Une plateforme de développement, est un service cloud qui prend en charge le débogage et la surveillance des tâches LangChain.

Bibliothèque LangChain (Bibliothèques)

La bibliothèque LangChain se compose de plusieurs paquets différents.

  • langchain-core: Abstractions de base et langage d'expression LangChain.
  • langchain-community: Intégrations tierces, comprenant principalement des composants tiers intégrés à LangChain.
  • langchain: Comprend principalement des chaînes, des agents et des stratégies de récupération.

Flux de Traitement des Tâches LangChain

Comme le montre l'image ci-dessus, LangChain fournit un ensemble d'outils de gestion de modèles de prompt pour gérer les prompts. Ensuite, il transmet les prompts au grand modèle pour traitement, et enfin traite les résultats renvoyés par le grand modèle.

L'encapsulation de LangChain du grand modèle inclut principalement deux types: LLM et Modèle de Chat.

  • LLM - Modèle de réponse aux questions qui reçoit une entrée de texte et renvoie un résultat de texte.
  • Modèle de Chat - Modèle de dialogue qui reçoit un ensemble de messages de dialogue et renvoie des messages de dialogue de manière conversationnelle.

Concepts Essentiels

1. LLMs

Les modèles fondamentaux encapsulés par LangChain qui reçoivent une entrée de texte et renvoient un résultat de texte.

2. Modèles de Chat

Modèles de chat (ou modèles de dialogue) conçus spécifiquement pour les scénarios de dialogue, contrairement aux LLMs. Ces modèles peuvent recevoir un ensemble de messages de dialogue et renvoyer des messages de dialogue de manière conversationnelle.

3. Messages

Fait référence au contenu des messages dans les modèles de chat. Les types de messages incluent Message Humain, Message IA, Message Système, Message de Fonction, et Message d'Outil, entre autres.

4. Prompts

LangChain encapsule un ensemble d'outils spécifiquement utilisés pour la gestion des prompts, facilitant la mise en forme du contenu du prompt.

5. Analyseurs de Sortie

Comme mentionné dans l'image ci-dessus, après que LangChain reçoit le contenu texte renvoyé par le grand modèle (LLM), il peut utiliser des analyseurs de sortie dédiés pour formater le contenu texte, tels que l'analyse JSON ou la conversion de la sortie de LLM en un objet Python.

5. Systèmes de Récupération

Pour importer facilement des données privées dans le grand modèle (LLM) et améliorer la qualité des réponses du modèle, LangChain encapsule un cadre de récupération (Systèmes de Récupération) qui facilite le chargement, la segmentation, le stockage et la récupération des données de documents.

6. Magasins de Vecteurs

Pour prendre en charge les recherches de similarité sémantique pour les données privées, LangChain prend en charge diverses bases de données de vecteurs.

7. Agents

Les agents, se référant généralement à des applications conçues avec le grand modèle (LLM) comme moteur de décision, appellent automatiquement des systèmes externes et des dispositifs matériels pour accomplir les tâches des utilisateurs en fonction de leur saisie. Il s'agit d'un schéma de conception avec le grand modèle (LLM) au cœur.

Scénarios d'Application

  • Chatbots : Construction d'assistants de chat intelligents, de chatbots de service client et de chatbots conversationnels.
  • Base de Connaissances Q&R : Fournir des services de question-réponse en domaine ouvert en intégrant des graphes de connaissances.
  • Rédaction Intelligente : Comme la rédaction d'articles, la rédaction créative et la résumé de texte.