Introducción a Langchain

Diseñado para la velocidad: ~ 10 ms de latencia, incluso bajo carga
¡Una forma increíblemente rápida de crear, rastrear e implementar sus modelos!
- Gestiona más de 350 RPS en solo 1 vCPU, sin necesidad de ajustes
- Listo para la producción con soporte empresarial completo
LangChain simplifica el desarrollo de la IA con modelos de lenguaje grandes (LLM) al ofrecer componentes modulares y plantillas prediseñadas para crear aplicaciones como chatbots y resumidores. Se integra perfectamente con los LLM, como el GPT-3.5 y los modelos de chat, lo que permite realizar tareas como completar textos y generar conversaciones. LangChain opera a través de cadenas de acciones, lo que garantiza una implementación eficiente de manera estructurada.
Langchain es un marco de código abierto que facilita el desarrollo de aplicaciones impulsadas por modelos de lenguaje grande (LLM), el pináculo actual de la evolución del procesamiento del lenguaje natural (PNL).
Este artículo permitirá al lector comprender la estructura central y las características clave de LangChain y cómo ha simplificado el desarrollo de soluciones lingüísticas impulsadas por la IA. También profundiza en los detalles para ayudarlo a crear su propia aplicación con LangChain.
LangChain y LLMs
En esencia, el LLM es un modelo de aprendizaje profundo que se utiliza para tareas basadas en el lenguaje en el dominio de la PNL, creado originalmente para la traducción de idiomas.
Utilizan modelos transformadores y están capacitados en grandes conjuntos de datos, lo que les permite comprender el lenguaje natural y realizar diversas tareas relacionadas con el lenguaje. Entre los LM más destacados se encuentran GPT-3.5, LLama, Bard, Falcon, etc.
«LangChain es un marco de Python que permite utilizar los LLM de manera fácil y eficiente al proporcionar una interfaz unificada y componentes modulares que pueden ser 'encadenado'juntos».
Esto, a su vez, simplifica la creación de sistemas avanzados como chatbots, aumentadores de imágenes, analizadores de sentimientos, etc. Estos sistemas pueden comprender el lenguaje, analizar el código, recuperar información y realizar otras tareas.
La flexibilidad, la extensibilidad y la integración de LangChain con los LLM lo convierten en una herramienta valiosa en el campo del procesamiento del lenguaje natural y más allá.
Acción y agente
En cualquier marco de software, «acción» y «agente» son como los componentes básicos. Son las ideas básicas, pero funcionan de forma diferente según la implementación.
En LangChain:
- Acción: Se refiere a una tarea u operación específica que realiza un fragmento de código. Puede ser cualquier cosa, desde realizar cálculos hasta enviar un correo electrónico.
- Agente: Es similar a un asistente virtual, un programa o componente que actúa de forma autónoma para realizar tareas o tomar decisiones en nombre del usuario o de otro programa.
Ecosistema LangChain
Hay cinco secciones principales en el ecosistema de LangChain:
- Bibliotecas LangChain: Piensa en ello como construir con ladrillos de LEGO; puedes combinarlos para crear diferentes estructuras. Con las bibliotecas de LangChain, puedes crear cadenas de acciones y agentes sin tener que empezar desde cero cada vez.
- Plantillas LangChain: Se trata de marcos prediseñados para varios proyectos o tareas que puede implementar de inmediato sin empezar desde cero. Piensa en ello como un modelo LEGO de la Estrella de la Muerte y en las bibliotecas como piezas de LEGO.
- LangServe: Se usa para implementar cadenas de LangChain como una API REST.
- Lang Smith: Es una plataforma para desarrolladores que permite depurar, probar, evaluar y monitorear cadenas creadas con cualquier marco, no solo con LangChain.
- Gráfico de largo: Es como una caja de herramientas para crear programas informáticos inteligentes que puedan recordar cosas y trabajar en conjunto. Utiliza algo llamado LangChain para ayudar a estos programas a comunicarse entre sí. Con LangGraph, puede hacer que estos programas realicen muchos pasos una y otra vez de una manera inteligente.
Lea también: LangChain frente a LangGraph
Componentes clave de Langchain
A menudo, cuando las personas hablan de LangChain, se refieren a las bibliotecas de LangChain y no a todo el ecosistema de LangChain en general.
Bibliotecas LangChain
Las bibliotecas de LangChain ayudan a crear IA con dos métodos principales:
- Componentes: Se trata de herramientas y conexiones adaptables diseñadas para la interacción con los modelos lingüísticos. Son fáciles de usar y se pueden utilizar de forma independiente o dentro del marco de LangChain.
- Cadenas prefabricadas: Se trata de combinaciones de componentes prediseñadas para realizar tareas específicas. Agilizan el proceso de puesta en marcha, mientras que los componentes permiten la personalización y la creación de nuevas cadenas.
Los componentes se clasifican además en tres tipos:
Modelo I/O:
Este componente facilita la comunicación con el modelo al proporcionar interfaces y utilidades claras para construir entradas y procesar salidas, es decir, una gestión rápida.
LangChain se integra principalmente con dos tipos principales de modelos: LLM y modelos de chat. Los LLM de LangChain se centran en completar el texto, capturando una cadena y completando una cadena, mientras que los modelos de chat están diseñados para un uso conversacional, ya que aceptan una lista de mensajes como entrada y devuelven un mensaje generado por la IA. Las estrategias de incitación varían entre estos modelos.
Los mensajes, clasificados en funciones como Human-Message y AI-Message, desempeñan un papel fundamental en la comunicación con los modelos, con parámetros adicionales como function_call para funcionalidades específicas.
Recuperación:
Cuando utilizamos modelos lingüísticos como los LLM, a veces necesitamos que comprendan detalles específicos sobre los usuarios individuales, incluso si esos detalles no formaban parte de su formación original. La generación aumentada de recuperación (RAG) es un término sofisticado para una técnica que utilizamos para hacer que esto suceda. Básicamente, significa que obtenemos información relevante de fuentes externas y la enviamos al modelo cuando está creando texto.
LangChain es un conjunto de herramientas que proporciona todas las herramientas necesarias para crear este tipo de aplicaciones.
Agentes:
El»Agente«es como el cerebro detrás de la toma de decisiones. Utiliza un modelo lingüístico e instrucciones para decidir qué hacer a continuación. En lugar de una secuencia establecida de acciones, es más flexible y permite que el modelo lingüístico decida el mejor curso de acción. Por lo tanto, considérelo como la persona que toma las decisiones de manera inteligente durante el proceso. En las cadenas, una secuencia de acciones está codificada
¿Cómo funciona Langchain?
LangChain funciona de manera muy similar a la elaboración de una receta de comida. Del mismo modo que se siguen los pasos para preparar un plato, LANGChain encadena una secuencia de acciones, denominadas»encadenar«, para llevar a cabo una tarea determinada impulsada por la IA.
Imagina que estás buscando algunas sugerencias de películas. LangChain interviene entendiendo primero lo que estás pidiendo. Luego, recopila detalles sobre las películas que te gustan y las que has visto antes. Al examinar tu historial de reproducción y tus preferencias con la ayuda de modelos lingüísticos, algoritmos sofisticados y técnicas de procesamiento de datos, LangChain genera sugerencias personalizadas. Por último, te ofrece una lista de recomendaciones personalizadas que puedes consultar.
Cada eslabón de esta «cadena» tiene un significado, al igual que seguir los pasos de una receta. LangChain agiliza el proceso, garantizando una ejecución perfecta de principio a fin.
Creación de mensajes en LangChain
Exploraremos cómo configurar un sistema simple de preguntas y respuestas usando LangChain e integrarlo con Hugging Face Hub (los LLM están disponibles aquí) para la generación de texto
Instalación de LangChain
! pip instala langchain
Configuración de la plantilla Prompt
desde langchain import PromptTemplate
template = «" "Pregunta: {pregunta}
Respuesta: «»
prompt = promptTemplate (
template=plantilla,
input_variables= ['pregunta']
)
Uso de Hugging Face Hub LLM
Primero, asegúrate de tener lista tu clave API de Hugging Face. Luego, configúrala en tu entorno
sistema operativo de importación
os.environ ['HUGGINGFACEHUB_API_TOKEN'] = 'HF_API_KEY'
Instala la biblioteca Hugging Face Hub
! pip install huggingface_hub
Inicializa y usa el Hugging Face Hub para la generación de texto
de langchain import HuggingFaceHub, LLMchain
# inicializar Hub LLM
hub_llm = AbrazandoFaceHub (
repo_id='google/flan-t5-xl',
model_kwargs= {'temperatura': 1e-10}
)
Integración con LangChain
Combine la plantilla de mensajes y el modelo Hugging Face Hub con LangChain
# crear plantilla de mensaje > Cadena LLM
llm_chain = LLMchain (
prompt=prompt,
llm=hub_llm
)
Generando la respuesta
Ahora, hagamos una pregunta sobre la temporada IPL 2023 y obtengamos la respuesta
# pregunta de usuario
question = «¿Qué equipo ganó la temporada 2023 de la IPL?» # haga una pregunta al usuario sobre la IPL 2023
print (llm_chain.run (pregunta))
Para esta pregunta, obtenemos la respuesta correcta de»Super Kings de Chennai» en la salida.
Aplicaciones de LangChain:
LangChain ofrece tutoriales especializados para crear chatbots. Haz clic en el encabezado de la lista para acceder a ellos.
- Chatbot: Los chatbots son ampliamente aceptados por su capacidad de entablar conversaciones prolongadas y continuas sin perder el contexto. Se destacan por proporcionar información pertinente en respuesta a las consultas de los usuarios.
- Generación de datos sintéticos: Los datos sintéticos son datos que se generan artificialmente, en lugar de recopilarse a partir de sucesos del mundo real. Su propósito es imitar datos reales sin infringir la privacidad ni verse limitado por las restricciones del mundo real.
- Resumidor: Si tienes un montón de documentos, como archivos PDF, notas de Notion o consultas de clientes, y necesitas resumir su esencia en resúmenes más cortos, los LLM son tu mejor opción. Son buenos para entender el significado del texto y condensarlo de forma eficaz.
- Interacción con las API: Imagina que necesitas un LLM para acceder a las API externas. Es una forma poderosa de enriquecer la comprensión del LLM al incluir el contexto relevante. Además, abre la posibilidad de conversar con las API en un lenguaje sencillo, ¡lo que puede resultar increíblemente útil!
TrueFoundry AI Gateway ofrece una latencia de entre 3 y 4 ms, gestiona más de 350 RPS en una vCPU, se escala horizontalmente con facilidad y está listo para la producción, mientras que LitellM presenta una latencia alta, tiene dificultades para superar un RPS moderado, carece de escalado integrado y es ideal para cargas de trabajo ligeras o de prototipos.
La forma más rápida de crear, gobernar y escalar su IA


















.png)


.webp)




.webp)







