LangChain 101: Desarrolla aplicaciones basadas en modelos  lingüísticos

LangChain 101: Desarrolla aplicaciones basadas en modelos lingüísticos

LangChain es una librería Python que te ayuda a crear aplicaciones basadas en LLMs en cuestión de minutos.

Langchain 101: Qué es y cómo funciona

Bienvenidos a LangChain

En las últimas dos semanas, hemos sido testigos de un notable aumento en el uso de los grandes modelos lingüísticos (LLMs) en un enfoque agéntico. Proyectos innovadores como AutoGPT, BabyAGI, CAMEL y Generative Agents han surgido como líderes en esta tendencia.

La comunidad LangChain ha implementado algunas partes de todos estos proyectos en el marco LangChain. Mientras investigábamos e implementábamos estos proyectos, hemos intentado comprender lo mejor posible cuáles son las diferencias entre ellos y cuáles son las características novedosas de cada uno. Este blog tiene como objetivo compartir lo que hemos aprendido.

Es importante destacar que este blog está dirigido a un público con cierto nivel de familiaridad con LangChain y los proyectos mencionados anteriormente. Si no estás familiarizado con estos proyectos, puede ser útil leer un artículo más introductorio (como este que lanzamos el otro día ) o mis hilos en Twitter.

Pd: Al final del artículo dejaré herramientas NoCode con las que podrás llevar a cabo las mismas apps que un desarrollador

LangChain: Una potente biblioteca Python para aplicaciones basadas en grandes modelos lingüísticos.

LangChain es una biblioteca Python, creada por Harrison Chase, de código abierto diseñada específicamente para proporcionar a los desarrolladores las herramientas necesarias para crear aplicaciones basadas en grandes modelos lingüísticos (LLM) de manera eficiente y profesional.

Con LangChain, los desarrolladores pueden conectarse fácilmente a diversas fuentes de datos y de cálculo, permitiéndoles crear aplicaciones que realicen tareas de procesamiento del lenguaje natural (PLN) en fuentes de datos específicas de dominio, repositorios privados y mucho más.

Los grandes modelos lingüísticos, como GPT-3, son capaces de generar una respuesta completa para una sola solicitud, también conocida como "terminación" de un único prompt. Por ejemplo, si solicitas "hornéame un pastel", el LLM generará la receta completa para un pastel. Además, puedes dar órdenes más complejas, como "hornéame un pastel de vainilla con glaseado de chocolate", y el LLM también será capaz de proporcionarte la receta deseada.

Sin embargo, ¿qué sucedería si quisieras obtener no solo el resultado final, sino también los ingredientes necesarios y los pasos detallados para hornear un pastel? Esta capacidad de solicitar instrucciones paso a paso no está presente en los grandes modelos lingüísticos, pero es posible gracias a los ChatGPT.

Para evitar que los usuarios tengan que proporcionar manualmente cada paso y determinar el orden de ejecución, LangChain utiliza los grandes modelos lingüísticos para generar automáticamente el siguiente paso en cada punto, utilizando las salidas de los pasos anteriores como contexto.

En resumen, LangChain es un framework que permite orquestar una serie de instrucciones para lograr un resultado deseado en aplicaciones basadas en grandes modelos lingüísticos. Esta biblioteca ofrece a los desarrolladores una forma sencilla y eficiente de trabajar con los LLM.

Si deseas obtener una guía conceptual de LangChain, puedes encontrarla aquí. Además, la documentación específica de LangChain para JavaScript está disponible aquí.

En la fecha de redacción de este artículo (mayo de 2023), el repositorio de LangChain en GitHub cuenta con más de 40,000 estrellas y ha recibido contribuciones de más de 800 colaboradores de todo el mundo, demostrando su popularidad y la amplia comunidad de desarrolladores que respalda esta biblioteca.

LangChain Github Star History | Generated on star-history.com

En esta guía, exploraremos en detalle qué es LangChain y cómo puedes utilizarlo para construir aplicaciones potentes basadas en grandes modelos lingüísticos.

¿Por qué usar LangChain?

LangChain es un marco para la creación de agentes capaces de razonar y encadenar tareas. Brindando a los desarrolladores la capacidad de crear agentes inteligentes capaces de razonar sobre problemas complejos y dividirlos en subtareas más pequeñas. Con LangChain, es posible introducir contexto y memoria en las finalizaciones al crear pasos intermedios y encadenar comandos.

Cuando solicitamos a un gran modelo lingüístico (LLM) que nos diga cuáles fueron los almacenes con mejores resultados la semana pasada, probablemente generará una consulta SQL adecuada para obtener la respuesta, incluso utilizando nombres de columnas falsos pero realistas.

Sin embargo, como desarrolladores que utilizan LangChain, tenemos la capacidad de ofrecer al LLM una selección de funciones para utilizar y pedirle que componga un flujo de trabajo completo. De esta manera, el agente puede seguir realmente el proceso y proporcionarnos una única respuesta: "la tienda número 304 en MAdrid es la que tuvo el mejor rendimiento".

Con LangChain, los desarrolladores tienen la posibilidad de crear flujos de trabajo personalizados, aprovechando el poder de los grandes modelos lingüísticos y permitiendo la interacción con datos y comandos de una manera más eficiente y estructurada.

LangChain está diseñado para ayudar en seis áreas principales. Estas son, en orden creciente de complejidad:

📃 LLMs y Avisos: Esto incluye la gestión de prompts, la optimización de prompts, una interfaz genérica para todos los LLMs y utilidades comunes para trabajar con LLMs.

🔗 Cadenas: Las cadenas van más allá de una única llamada a un LLM e implican secuencias de llamadas (ya sea a un LLM o a una utilidad diferente). LangChain proporciona una interfaz estándar para cadenas, muchas integraciones con otras herramientas y cadenas de extremo a extremo para aplicaciones comunes.

📚 Generación aumentada de datos: Data Augmented Generation implica tipos específicos de cadenas que primero interactúan con una fuente de datos externa para obtener datos para su uso en el paso de generación. Algunos ejemplos son el resumen de fragmentos largos de texto y las preguntas/respuestas sobre fuentes de datos específicas.

🤖 Agentes: Los Agentes implican que un LLM tome decisiones sobre qué Acciones tomar, tomar esa Acción, ver una Observación, y repetir eso hasta que termine. LangChain proporciona una interfaz estándar para agentes, una selección de agentes para elegir, y ejemplos de agentes de extremo a extremo.

🧠 Memoria: La memoria se refiere a la persistencia del estado entre llamadas de una cadena/agente. LangChain proporciona una interfaz estándar para la memoria, una colección de implementaciones de memoria, y ejemplos de cadenas/agentes que usan memoria.

🧐 Evaluación: [BETA] Los modelos generativos son notoriamente difíciles de evaluar con las métricas tradicionales. Una nueva forma de evaluarlos es utilizar los propios modelos lingüísticos para hacer la evaluación. LangChain proporciona algunas indicaciones/cadenas para ayudar en esto.

Para más información sobre estos conceptos, consulta la documentación completa.

¿Qué tiene de interesante LangChain?

LangChain es emocionante porque nos permite mejorar los ya potentes LLM con memoria y contexto. Podemos introducir el "razonamiento" de forma artificial y resolver tareas más complejas con mayor precisión.

LangChain es especialmente emocionante para los desarrolladores porque proporciona una nueva forma de construir interfaces de usuario. En lugar de arrastrar y soltar o utilizar código, los usuarios pueden simplemente pedir lo que quieren.

Por ejemplo, Microsoft Word tiene miles de botones, cada uno de los cuales corresponde a una función. Con marcos como LangChain, podemos combinar el contexto de las palabras en la página, las funciones disponibles y nuestra petición para conseguir lo que realmente queremos hacer. Como usuario, nunca "quiero" cambiar el tamaño de la fuente del número de página; a menudo tengo que hacerlo, porque los botones de Word representan acciones atómicas y el botón para añadir números de página lo añade en Calibri 11pt. LangChain nos permite alcanzar objetivos directamente, en lugar de realizar acciones atómicas.

El éxito de ChatGPT radica en que no es simplemente una implementación ingenua de GPT. Sus respuestas son producto de retroalimentarse varias veces a sí misma. Cuando se realiza una solicitud de codificación, ChatGPT la reformula de manera más formal, ofrece dos implementaciones, describe la motivación de cada una y explica el código resultante.


Soy Samu Sarmiento, embajador de thirdweb y desarrollador de software. Mi experiencia incluye trabajar con TypeScript y frameworks populares como React, Next.js y Node.js, así como construir aplicaciones Web 3.0 usando thirdweb y Alchemy Platform.

A 30 de Mayo de 2023, llevo aproximadamente dos meses investigando el mundo de la inteligencia artificial, machine learning, deep learning, modelos de lenguaje, agentes autónomos.... Y de ahí nacen estas guías ;)

En los próximos días y semanas estaré trayendoles en mi Newsletter más notícias, actualizaciones, nuevos agentes o frameworks. Nuevos casos de uso. Y sobretodo muchos tutoriales y guías prácticas para que no pierdas mucho tiempo investigando y puedas poner en marcha tus ideas rápidamente.

Espero que les guste y la disfruten. Todo feedback es más que bienvenido, contacta conmigo en Twitter directamente ( @SamuSarmiento_ ).


Casos de uso

Mejores prácticas e implementaciones integradas para casos de uso comunes de LangChain:

  • Agentes autónomos: Los agentes autónomos son agentes de larga duración que dan muchos pasos en un intento de lograr un objetivo. Algunos ejemplos son AutoGPT y BabyAGI.

  • Simulaciones de agentes: Poner a los agentes en una caja de arena y observar cómo interactúan entre sí y reaccionan ante los acontecimientos puede ser una forma eficaz de evaluar sus capacidades de razonamiento y planificación a largo plazo.

  • Asistentes personales: Uno de los principales casos de uso de LangChain. Los asistentes personales necesitan realizar acciones, recordar interacciones y tener conocimientos sobre sus datos.

  • Respuesta a preguntas: Otro caso de uso común de LangChain. Responder preguntas sobre documentos específicos, utilizando únicamente la información de esos documentos para construir una respuesta.

  • Chatbots: A los modelos lingüísticos les encanta chatear, por lo que este es un uso muy natural de ellos.

  • Consulta de datos tabulares: Lectura recomendada si desea utilizar modelos lingüísticos para consultar datos estructurados (CSV, SQL, marcos de datos, etc.).

  • Comprensión del código: Lectura recomendada si desea utilizar modelos lingüísticos para analizar código.

  • Interacción con API: Permitir que los modelos lingüísticos interactúen con las API es extremadamente potente. Les da acceso a información actualizada y les permite realizar acciones.

  • Extracción: Extraiga información estructurada del texto.

  • Resumir: Comprimir documentos más largos. Un tipo de generación de datos mejorada.

  • Evaluación: Los modelos generativos son difíciles de evaluar con las métricas tradicionales. Un enfoque prometedor consiste en utilizar los propios modelos lingüísticos para realizar la evaluación.

Agentes autónomos y simulaciones de agentes

TL;DR:

  • Los proyectos de "agentes autónomos" (BabyAGI, AutoGPT) son en gran medida novedosos en sus objetivos a largo plazo, que requieren nuevos tipos de técnicas de planificación y un uso diferente de la memoria.

  • Los proyectos de "simulación de agentes" (CAMEL, Generative Agents) son en gran medida novedosos por sus entornos de simulación y su memoria a largo plazo que refleja y se adapta en función de los acontecimientos.

En este apartado discutirmeos qué partes de cada proyecto se han replicado en el marco LangChain, y por qué esas partes. Su implementación tiene las siguientes ventajas:

Antecedentes

Empecemos con un poco de contexto. ¿Qué son los "agentes" y por qué son importantes? Para este debate utilizaremos la nomenclatura LangChain, aunque cabe señalar que este campo es tan nuevo que no existe una terminología superestándar.

En general, los agentes se refieren a la idea de utilizar un modelo lingüístico como motor de razonamiento y conectarlo a dos componentes clave: las herramientas y la memoria.

Las herramientas ayudan a conectar el LLM con otras fuentes de datos o computación. Algunos ejemplos de herramientas son los motores de búsqueda, las API y otros almacenes de datos. Las herramientas son útiles porque los LLM sólo conocen aquello en lo que han sido entrenados. Estos conocimientos pueden quedar desfasados rápidamente. Para superar estas limitaciones, las herramientas pueden obtener datos actualizados e insertarlos como contexto en la consulta. Las herramientas también pueden utilizarse para realizar acciones (por ejemplo, ejecutar código, modificar archivos, etc.), y el resultado de esa acción puede ser observado por el LLM e incluido en su decisión sobre qué hacer a continuación.

La memoria ayuda al agente a recordar interacciones anteriores. Estas interacciones pueden ser con otras entidades (humanos u otros agentes) o con herramientas. Estos recuerdos pueden ser a corto plazo (por ejemplo, una lista de los 5 usos de herramientas anteriores) o a largo plazo (usos de herramientas del pasado que parezcan más similares a la situación actual).

Dentro de LangChain, nos referimos a un "Agente" como el LLM que decide qué acciones tomar; a las "Herramientas" como las acciones que un Agente puede tomar; a la "Memoria" como el acto de extraer eventos anteriores, y a un AgenteEjecutor como la lógica para ejecutar un Agente en un bucle while hasta que se cumpla algún criterio de parada.



El Agente LangChain estereotipado se basa en el marco de razonamiento y actuación (ReAct) propuesto por Yao et all en noviembre de 2022. Este enfoque se caracteriza por el siguiente algoritmo:

  1. El usuario encarga una tarea a un agente

  2. Pensamiento: El agente "piensa" qué hacer

  3. Acción/acción de entrada: El agente decide qué acción realizar (es decir, qué herramienta utilizar) y cuál debe ser la entrada de dicha herramienta.

  4. Observación: La salida de la herramienta

  5. Repite los pasos 2-4 hasta que el agente "crea" que está hecho

Cuando hablemos de otras implementaciones y frameworks los compararemos con este algoritmo.

AutoGPT en Langchain

¿Qué hay de novedoso en este proyecto?

Las principales diferencias entre el proyecto AutoGPT y los agentes tradicionales de LangChain pueden atribuirse a los distintos objetivos. En AutoGPT, los objetivos suelen ser más abiertos y de larga duración. Esto significa que AutoGPT tiene un AgentExecutor diferente y una forma diferente de hacer memoria (ambos más optimizados para tareas de larga duración). Anteriormente, la memoria de los agentes en LangChain tenía dos formas:

  • Memoria de pasos de agente: esto se hacía manteniendo una lista de pasos de agente intermedios relevantes para esa tarea, y pasando la lista completa a las llamadas LLM.

  • Memoria del sistema: recordaba las entradas y salidas finales (pero olvidaba los pasos intermedios del agente).

Dado que AutoGPT se ejecuta durante más tiempo, ya no es factible pasar la lista completa de pasos del agente a la llamada LLM. En su lugar, AutoGPT añadió una memoria basada en la recuperación sobre los pasos intermedios del agente. Bajo el capó, esta memoria basada en la recuperación está haciendo la búsqueda semántica sobre incrustaciones, utilizando un VectorStore. Nótese que LangChain tiene este tipo de memoria basada en la recuperación, pero anteriormente se aplicaba a las interacciones usuario-agente, no a las interacciones agente-herramienta.

¿Cómo lo incorporaron a LangChain?

Añadieron una versión de esto a langchain.experimental - un lugar donde añaden el código más código experimental y más nuevo mientras averiguan las abstracciones adecuadas. Específicamente, implementaron la lógica de plantillas utilizada, así como el bucle while utilizado para ejecutar el agente. Lo han hecho compatible con LangChain LLM wrappers, LangChain VectorStores, y herramientas LangChain.

También han creado este cuaderno mostrando cómo usarlo.

BabyAGI en Langchain

¿Qué hay de novedoso en este proyecto?

El proyecto BabyAGI difiere de los agentes LangChain tradicionales en los siguientes aspectos:

  • Al igual que AutoGPT, aplica una memoria basada en la recuperación a los pasos intermedios agente-herramienta.

  • Tiene pasos separados de planificación y ejecución, donde planifica una secuencia de acciones a la vez (en lugar de sólo la siguiente). Al igual que AutoGPT, BabyAGI está diseñado para tareas de larga duración, lo que da lugar a estas dos diferencias.

Profundicemos en el segundo punto, ya que es una de las diferencias más importantes y sustanciales. En el marco tradicional del Agente LangChain (y el marco AutoGPT), el agente piensa un paso por delante cada vez. Para un determinado estado del mundo, piensa en cuál debería ser su próxima acción inmediata y, a continuación, la lleva a cabo.

BabyAGI se diferencia en que planifica explícitamente una secuencia de acciones. A continuación, ejecuta la primera y utiliza el resultado para realizar otro paso de planificación y actualizar su lista de tareas. Nuestra intuición es que esto le permite ejecutarse mejor en tareas más complejas e implicadas, utilizando los pasos de planificación esencialmente como un sistema de seguimiento del estado... Hemos observado (anecdóticamente) que para las tareas que requieren muchos pasos, el Agente LangChain tradicional a veces puede olvidar su objetivo original después de unos pocos pasos, por lo que la planificación de todos los pasos antes de tiempo podría ser beneficioso.

¿Cómo lo incorporaron a LangChain?

Al igual que AutoGPT, lo añadieron a langchain.experimental. Específicamente, implementaron la lógica de plantillas utilizada, así como el bucle while utilizado para ejecutar el agente. Lo han hecho compatible con LangChain LLM wrappers, LangChain vectorstores, y LangChain tools.

Camel en Langchain

¿Qué hay de novedoso en este proyecto?

La principal novedad de este proyecto radica en tomar dos agentes, cada uno con su propia personalidad, y hacer que conversen entre sí. En este sentido, hay dos componentes novedosos: la idea de que dos agentes interactúen entre sí de forma colaborativa y el entorno de simulación específico.

La idea de que dos agentes interactúen no es totalmente nueva. Dada la naturaleza modular de LangChain, hace tiempo que somos partidarios de que los agentes utilicen a otros agentes como herramientas. Sin embargo, lo novedoso de este tipo de interacción es que los dos agentes se sitúan como iguales - en implementaciones anteriores de LangChain siempre ha habido un agente que llama al otro como herramienta, en un enfoque de "apilamiento". Esta idea de poner a ambos agentes en pie de igualdad, en lugar de que uno utilice al otro como herramienta, resulta especialmente interesante para ver cómo surge un comportamiento evolutivo.

Hay que tener en cuenta que estos agentes pueden disponer de diferentes herramientas y podrían especializarse en torno a ellas. Por ejemplo, podrías tener un agente armado con las herramientas necesarias para codificar, otro con las herramientas necesarias para interactuar con lineales, etc. Así que todavía es posible conseguir un efecto de "apilamiento" (en el que tienes diferentes agentes responsables de diferentes cosas).

El segundo componente novedoso fue el particular entorno de simulación. Se trata de una conversación a dos bandas, y no es terriblemente compleja, pero sigue siendo la primera implementación de este tipo en un entorno de investigación que hemos visto.

¿Cómo lo incorporaron a Langchain?

Han añadido un cuaderno de notas, que refleja en gran medida el entorno de simulación (con dos agentes chateando entre sí). Es posible que en el futuro estudien la posibilidad de que este entorno de simulación esté más disponible en el mercado.

Agentes Generativos

¿Qué hay de novedoso en este proyecto?

Este proyecto presenta dos aspectos novedosos (y bastante complejos). El primero es el entorno de simulación, que consta de 25 agentes diferentes. Esto parece bastante específico, y muy complejo, por lo que no profundizamos demasiado en ello. El otro aspecto novedoso es la memoria a largo plazo que han creado para estos agentes.

Hicieron una inmersión profunda en esto a principios de esta semana. La memoria de los agentes se compone de:

  1. Pasos de reflexión de importancia, para dar a cada observación una puntuación de importancia. Esta puntuación puede utilizarse en la recuperación posterior para recuperar recuerdos especialmente importantes e ignorar los básicos.

  2. Pasos de reflexión, para "hacer una pausa" y pensar qué generalizaciones ha aprendido el agente. Estas reflexiones pueden recuperarse junto con los recuerdos normales. Este paso de reflexión puede servir para condensar información y observar patrones en recuerdos recientes.

  3. Un recuperador que combina recuerdos recientes, relevancia para la situación e importancia. Esto puede permitir que afloren recuerdos similares a la situación actual, que ocurrieron hace poco tiempo y que son especialmente importantes. Todos estos atributos parecen reflejar de forma natural cómo "recuperamos" los recuerdos los seres humanos.

Todos estos componentes de la memoria son bastante novedosos y muy interesantes.

¿Cómo lo incorporaron a Langchain?

La lógica retriever parecía generalizable por lo que la añadieron como un TimeWeightedVectorStoreRetriever.

Han añadido un cuaderno que muestra cómo utilizar los pasos de reflexión + el nuevo recuperador para replicar parte de la configuración del documento descrito.

Conclusión

En este artículo, hemos explorado las características interesantes de LangChain, su popularidad en la comunidad de desarrolladores y los casos de uso en los que puede ser aplicado. Además, al final del artículo, encontrarás enlaces de interés, herramientas NoCode y fuentes adicionales que complementarán tu comprensión de LangChain y su implementación. ¡No dudes en consultarlos y comenzar a aprovechar todo el potencial de esta biblioteca para tus propios proyectos!


LangChain Framework

Herramientas

Low-code

  • Langflow: LangFlow UI para LangChain

  • Flowise - LangchainJS UI: Interfaz de usuario de arrastrar y soltar para crear su flujo LLM personalizado utilizando LangchainJS

  • Databerry: Plataforma sin código para la búsqueda semántica y la recuperación de documentos

  • LangchainUI: "The open source chat-ai toolkit"

  • Yeager.ai: Yeager.ai Agent es el primer creador de agentes Langchain diseñado para ayudarle a crear, crear prototipos y desplegar agentes impulsados por IA con facilidad.

Servicios

  • GPTCache: Una biblioteca para crear caché para consultas LLM

  • LlamaHub: Una biblioteca de cargadores de datos para LLMs hecha por la comunidad

  • EVAL: Agente versátil con Langchain. Ejecutará todas tus peticiones.

  • Auto-evaluator: Una herramienta ligera de evaluación para responder preguntas usando Langchain

  • Langchain visualizer: Herramienta de visualización y depuración para flujos de trabajo LangChain

  • LLM Strategy: Implementación del patrón de estrategia utilizando LLMs

  • datasetGPT: Una interfaz de línea de comandos para generar conjuntos de datos textuales y conversacionales con LLMs.

  • spellbook-forge: Haz que tus prompts sean ejecutables y permite control de versiones

  • Auto Evaluator: Autoevaluador de Langchain

  • Jina: Aplicaciones Langchain en producción con Jina

  • Gradio Tools: Gradio 🤝 LLM Agents

  • steamship-langchain: Adaptadores para Steamship, que permiten a los desarrolladores de LangChain desplegar rápidamente sus aplicaciones en Steamship

  • LangForge: Un conjunto de herramientas para crear y desplegar aplicaciones LangChain

  • BentoChain: Despliegue de LangChain en BentoML

  • LangCorn: Servir aplicaciones LangChain automáticamente con FastApi

  • Langchain Service: Configuración de Langchain opinada con Qdrant vector store y Kong gateway

  • Lanarky: Envía proyectos LLM listos para producción con FastAPI

  • Dify: Una API para plugins y conjuntos de datos, una interfaz para ingeniería rápida y operación visual, todo para crear potentes aplicaciones de IA.

  • LangchainJS Worker: Trabajador LangchainJS en cloudflare

  • Chainlit: Construye aplicaciones Python LLM en minutos

  • Zep: Zep: Un almacén de memoria a largo plazo para aplicaciones LLM / Chatbot

  • Gorilla: Un almacén API para LLMs

Agentes

  • AgentGPT: Agentes de IA con Langchain y OpenAI (Vercel / Nextjs)

  • ThinkGPT: Técnicas de agentes para aumentar tu LLM y llevarlo más allá de sus límites

  • Camel-AutoGPT: Enfoque de juego de roles para LLMs y auto-agentes como BabyAGI & AutoGPT

  • Private GPT: Interactúa en privado con tus documentos usando el poder de GPT, 100% privado, sin fugas de datos.

  • RasaGPT: RasaGPT es la primera plataforma de chatbot LLM "sin cabeza" construida sobre Rasa y Langchain.

  • SkyAGI: Capacidad emergente de simulación del comportamiento humano en agentes LLM.

  • PyCodeAGI: Un pequeño experimento AGI para generar una aplicación Python dada la aplicación que el usuario quiere construir.

  • BabyAGI UI: Facilitar la ejecución y el desarrollo con babyagi en una aplicación web, como ChatGPT

  • CollosalAI Chat: Implementar LLM con RLHF, impulsado por el proyecto Colossal-AI

  • SuperAgent: Despliegue de agentes LLM en producción

  • ix: Plataforma autónoma de agentes GPT-4

  • DuetGPT: Un asistente conversacional semiautónomo para desarrolladores, AI pair programming sin copypaste.

Plantillas

  • create-t3-turbo-ai: Plantilla basada en t3 y compatible con Langchain para crear aplicaciones web seguras en cuanto a tipos, de pila completa y basadas en LLM con Nextjs y Prisma.

  • LangChain.js LLM Template: Plantilla LangChain LLM que le permite entrenar su propio modelo personalizado.

  • Streamlit Template: Plantilla para desplegar un LangChain en Streamlit.

  • Codespaces Template: Una plantilla de Codespaces para empezar a utilizar LangChain en cuestión de segundos.

  • Gradio Template: Plantilla para desplegar LangChain en Gradio

Plataformas

  • Modal: End-to-end stack para computación cloud/ML

  • Metal: Servicio gestionado que permite crear productos de IA sin la molestia de gestionar la infraestructura

  • Graphsignal: Observabilidad para agentes de IA y aplicaciones impulsadas por LLM. Rastrea, monitoriza y depura LangChain en producción.

Proyectos Open Source

Gestión del conocimiento

  • DocsGPT: Chat con GPT para búsqueda de documentación y asistencia.

  • Knowledge GPT: Respuestas precisas y citas instantáneas para sus documentos.

  • Quiver: Descarga tu cerebro en tu GenerativeAI Vault.

  • Knowledge: Knowledge es una herramienta para guardar, buscar, acceder y explorar todos tus sitios web, documentos y archivos favoritos.

Otros / Chatbots

  • AudioGPT: Comprensión y generación del habla, música, sonido y la cabeza parlante

  • Paper QA: Cadena LLM para responder preguntas a partir de documentos con citas

  • Chat Langchain: Chatbot alojado localmente centrado específicamente en responder preguntas sobre la documentación LangChain

  • Langchain Chat: Otro frontend Next.js para el chat LangChain

  • Book GPT: Haz preguntas sobre libros.

  • Chat LangchainJS: Versión NextJS de Chat Langchain

  • Doc Search: Conversa con un libro - Construido con GPT-3

  • Fact Checker: comprobación de los resultados de LLM con langchain

  • MM ReAct: Diseño Multi Modal ReAct

  • QABot: Consulta de archivos locales o remotos o bases de datos con consultas de lenguaje natural impulsado por langchain y openai

  • GPT Automator: Tu asistente Mac controlado por voz.

  • Teams LangchainJS: Demostración de LangChainJS con bots Teams / Bot Framework

  • ChatGPT: ChatGPT & langchain ejemplo para node.js & Docker

  • FlowGPT: Generar diagrama con AI

  • langchain-text-summarizer: Un ejemplo de aplicación streamlit que resume texto usando LangChain

  • Langchain Chat Websocket: Sobre el chat LLM de LangChain con respuesta en streaming sobre websockets

  • langchain_yt_tools: Herramientas Langchain para buscar/extraer/transcribir transcripciones de texto de vídeos de Youtube

  • SmartPilot: Un programa Python que aprovecha los modelos lingüísticos de OpenAI para generar, analizar y seleccionar la mejor respuesta a una pregunta dada

  • Howdol: Un chatbot que puede responder preguntas

  • MrsStax: QA Slack Bot

  • ThoughtSource⚡: Un marco para la ciencia del pensamiento automático

  • ChatGPT Langchain: Clon de ChatGPT usando langchain en Huggingface

  • Chat Math Techniques: Chat langchain con técnicas matemáticas en Huggingface

  • Notion QA: Bot de respuesta a preguntas Notion

  • QNimGPT: Juega a Nim contra un simulador de ordenador cuántico IBM u OpenAI GPT-3.5

  • ChatPDF: ChatGPT + datos de empresa con Azure OpenAI

  • Chat with Scanned Documents: Una demo de chat con documentos escaneados con Dynamic Web TWAIN.

  • snowChat ❄️: Chatea con tu base de datos snowflake

  • DB GPT: Interactúa con tus datos y entorno usando el GPT local, sin fugas de datos, 100% privado, 100% seguridad

  • Psychic: APIs universales para datos no estructurados. Sincroniza documentos desde herramientas SaaS a una base de datos SQL o vectorial, donde pueden ser fácilmente consultados por aplicaciones de IA como ChatGPT.

  • Airtable-QnA: Una herramienta de respuesta a preguntas para tu contenido de Airtable.

  • Voyager: Un agente encarnado abierto con grandes modelos lingüísticos

Aprender

Notebooks

Videos

Articulos

Alternativas

Complemento de esta lista

  • Open LLMs: Una lista de LLM abiertos disponibles para uso comercial

  • Awesome LLM: Una lista de recurso de Large Language Model.

  • LLaMA Cult and More: Al tanto de los LLM asequibles, LLaMA Cult y mucho más


¡Y eso es todo! Espero que hayas adquirido una comprensión superficial de las capacidades de LangChain. Si quieres seguir leyendo artículos como este o el anterior, estar al día sobre AI, AGI, LLMs y productos potenciados por IA:

  1. Sígueme en Twitter

  2. Suscríbete a mi Newsletter para no perderte las últimas noticias sobre Agentes autónomos, LLMs y productos potenciados por IA.