Galería de mapas mentales ¿Qué es LangChain ——Marco de programación de modelos de lenguaje grande potente y fácil de usar
LangChain es el marco de programación LLM (Large Language Model) más popular en este momento. Si desea desarrollar una aplicación basada en LLM, tiene todos los componentes que necesita.
Editado a las 2023-10-29 15:48:40,This is a mind map about bacteria, and its main contents include: overview, morphology, types, structure, reproduction, distribution, application, and expansion. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about plant asexual reproduction, and its main contents include: concept, spore reproduction, vegetative reproduction, tissue culture, and buds. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about the reproductive development of animals, and its main contents include: insects, frogs, birds, sexual reproduction, and asexual reproduction. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about bacteria, and its main contents include: overview, morphology, types, structure, reproduction, distribution, application, and expansion. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about plant asexual reproduction, and its main contents include: concept, spore reproduction, vegetative reproduction, tissue culture, and buds. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about the reproductive development of animals, and its main contents include: insects, frogs, birds, sexual reproduction, and asexual reproduction. The summary is comprehensive and meticulous, suitable as review materials.
LangChain
¿Qué es LangChain?
LangChain es un marco poderoso diseñado para ayudar a los desarrolladores a crear aplicaciones de un extremo a otro utilizando modelos de lenguaje. Proporciona un conjunto de herramientas, componentes e interfaces que simplifican el proceso de creación de aplicaciones basadas en modelos de lenguaje grandes (LLM) y modelos de chat. LangChain puede gestionar fácilmente interacciones con modelos de lenguaje, vincular múltiples componentes e integrar recursos adicionales como API y bases de datos.
Idea principal
Componentes y Cadenas
En LangChain, los componentes son bloques de construcción modulares que se pueden combinar para crear aplicaciones potentes. Una Cadena es una serie de Componentes (u otras Cadenas) que se agrupan para realizar una tarea específica. Por ejemplo, una Cadena puede incluir una plantilla de mensaje, un modelo de lenguaje y un analizador de resultados que trabajan juntos para procesar la entrada del usuario, generar respuestas y procesar la salida.
Plantillas y valores de avisos
La plantilla de solicitud es responsable de crear PromptValue, que es lo que finalmente se pasa al modelo de lenguaje. Prompt Template ayuda a convertir la entrada del usuario y otra información dinámica a un formato adecuado para modelos de lenguaje. PromptValues son clases con métodos que convierten al tipo de entrada exacto esperado por cada tipo de modelo (como texto o mensaje de chat).
Selectores de ejemplo
Los selectores de ejemplos son útiles cuando desea incluir ejemplos dinámicamente en las indicaciones. Aceptan entradas del usuario y devuelven una lista de ejemplos para usar en las indicaciones, lo que los hace más potentes y específicos del contexto.
Analizadores de salida
Los analizadores de salida son responsables de estructurar la respuesta del modelo de lenguaje en un formato más útil. Implementan dos métodos principales: uno para proporcionar instrucciones de formato y otro para analizar la respuesta del modelo de lenguaje en un formato estructurado. Esto facilita el procesamiento de los datos de salida en su aplicación.
Índices y recuperadores
El índice es una forma de organizar documentos para facilitar que los modelos de lenguaje interactúen con ellos. Un recuperador es una interfaz para obtener documentos relevantes y combinarlos con un modelo de lenguaje. LangChain proporciona herramientas y funcionalidades para trabajar con diferentes tipos de índices y recuperadores, como bases de datos vectoriales y divisores de texto.
Historial de mensajes de chat
LangChain interactúa principalmente con el modelo de lenguaje a través de la interfaz de chat. La clase ChatMessageHistory es responsable de recordar todos los datos de interacción de chat anteriores, que luego pueden devolverse al modelo, agregarse o combinarse de otro modo. Esto ayuda a mantener el contexto y mejora la comprensión de la conversación por parte del modelo.
Agentes y kits de herramientas
Los agentes son entidades que impulsan la toma de decisiones en LangChain. Tienen acceso a un conjunto de herramientas y pueden decidir a qué herramienta llamar en función de la entrada del usuario. Los kits de herramientas son un conjunto de herramientas que, cuando se usan juntas, pueden realizar una tarea específica. El ejecutor del agente es responsable de ejecutar el agente utilizando las herramientas adecuadas.
¿Qué es un agente LangChain?
LangChain Agent es la entidad en el marco que impulsa la toma de decisiones. Tiene acceso a un conjunto de herramientas y puede decidir a qué herramienta llamar en función de la entrada del usuario. Los agentes ayudan a crear aplicaciones complejas que requieren respuestas adaptativas y específicas del contexto. Son particularmente útiles cuando existen cadenas desconocidas de interacciones que dependen de las aportaciones del usuario y otros factores.
¿Cómo utilizar LangChain?
Para utilizar LangChain, los desarrolladores primero importan los componentes y herramientas necesarios, como LLM, modelos de chat, agentes, cadenas y funciones de memoria. Estos componentes se combinan para crear una aplicación que comprende, procesa y responde a las entradas del usuario. LangChain proporciona múltiples componentes para casos de uso específicos, como asistentes personales, preguntas y respuestas sobre documentos, chatbots, consulta de datos tabulares, interacción con API, extracción, evaluación y agregación.
¿Qué es un modelo LangChain?
El modelo LangChain es una abstracción que representa los diferentes tipos de modelos utilizados en el marco.
LLM (modelo de lenguaje a gran escala): estos modelos toman cadenas de texto como entrada y devuelven cadenas de texto como salida. Son la columna vertebral de muchas aplicaciones de modelos de lenguaje.
Modelo de chat: el modelo de chat funciona con un modelo de lenguaje pero tiene una API más estructurada. Toman una lista de mensajes de chat como entrada y devuelven mensajes de chat. Esto facilita la gestión del historial de conversaciones y el mantenimiento del contexto.
Modelos de incrustación de texto: estos modelos toman texto como entrada y devuelven una lista de elementos flotantes que representan incrustaciones de texto. Estas incrustaciones se pueden utilizar para tareas como recuperación de documentos, agrupación y comparación de similitudes.
Características principales de LangChain
LLM y avisos: LangChain facilita la administración de avisos, optimizarlos y crear una interfaz común para todos los LLM. Además, incluye algunas utilidades útiles para trabajar con LLM.
Cadena: Son secuencias de llamadas a LLM u otras utilidades. LangChain proporciona una interfaz estándar para la cadena, se integra con varias herramientas y proporciona una cadena de un extremo a otro para aplicaciones populares.
Generación aumentada de datos: LangChain permite que la cadena interactúe con fuentes de datos externas para recopilar datos para el paso de generación. Por ejemplo, puede ayudar a resumir textos extensos o responder preguntas utilizando fuentes de datos específicas.
Agentes: los agentes permiten que el LLM tome decisiones sobre acciones, tome esas acciones, verifique los resultados y avance hasta que se complete el trabajo. LangChain proporciona una interfaz estándar para corredores, una variedad de corredores para elegir y ejemplos de corredores de un extremo a otro.
Memoria: LangChain tiene una interfaz de memoria estándar que ayuda a mantener el estado entre llamadas en cadena o de proxy. También proporciona una serie de ejemplos de implementaciones de memoria y cadenas o proxies que utilizan memoria.
Evaluación: Los modelos generativos son difíciles de evaluar utilizando métricas tradicionales. Es por eso que LangChain proporciona consejos y cadenas para ayudar a los propios desarrolladores a evaluar sus modelos utilizando LLM.
Ejemplo de uso de LangChain
Preguntas y respuestas específicas de documentos: responda una pregunta basada en documentos determinados, utilizando información de esos documentos para crear la respuesta.
Chatbots: cree chatbots que puedan aprovechar el poder de LLM para generar texto.
Agentes: Desarrollar agentes que puedan decidir acciones, tomarlas, observar los resultados y continuar la ejecución hasta su finalización.