Introducción a LangChain
Desarrollo de aplicaciones con LLM utilizando LangChain
Estructura y módulos de LangChain
Uso de modelos Open Source de Hugging Face
Uso de modelos de OpenAI API
Prompt templates de LangChain
Cadenas en LangChain
Utility chains
RetrievalQA chain
Foundational chains
Quiz: Introducción a LangChain
Casos de uso de LangChain
Casos de uso de LangChain
¿Cómo utilizar LangChain en mi equipo?
Quiz: Casos de uso de LangChain
Manejo de documentos con índices
¿Cómo manejar documentos con índices en LangChain?
La clase Document
Document Loaders: PDF
Document Loaders: CSV con Pandas DataFrames
Document Loaders: JSONL
Document Transformers: TextSplitters
Proyecto de Chatbot: configuración de entorno para LangChain y obtención de datos
Proyecto de Chatbot: creación de documents de Hugging Face
Quiz: Manejo de documentos con índices
Embeddings y bases de datos vectoriales
Uso de embeddings y bases de datos vectoriales con LangChain
¿Cómo usar embeddings de OpenAI en LangChain?
¿Cómo usar embeddings de Hugging Face en LangChaing?
Chroma vector store en LangChain
Proyecto de Chatbot: ingesta de documents en Chroma
RetrievalQA: cadena para preguntar
Proyecto de Chatbot: cadena de conversación
Proyecto de Chatbot: RetrievalQA chain
Quiz: Embeddings y bases de datos vectoriales
Chats y memoria con LangChain
¿Para qué sirve la memoria en cadenas y chats?
Uso de modelos de chat con LangChain
Chat prompt templates
ConversationBufferMemory
ConversationBufferWindowMemory
ConversationSummaryMemory
ConversationSummaryBufferMemory
Entity memory
Proyecto de Chatbot: chat history con ConversationalRetrievalChain
Quiz: Chats y memoria con LangChain
Evolución del uso de LLM
LangChain y LLM en evolución constante
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Omar Espejel
Aportes 2
Preguntas 0
Esta guía proporciona un caso de uso sobre “Conversation Buffer Memory”, para tener conversaciones cortas y con un enfoque ingenuo.
.
Dentro de LangChain, podemos gestionar la memorización en un LLM mediante 2 enfoques:
.
.
Una implementación de una memorización a un LLM, se refiere a entregar un historial al modelo sobre un historial, fabricando un contexto,
.
Enlaces auxiliares:
.
Implementar un “Conversation Buffer Memory” utilizando TypeScript para proveer de memorización de contexto a un LLM.
.
LangChain prove de BufferMemory
, una clase que encapsula un tipo de memoria usada para almacenar y gestionar los mensajes previos en un historial de chat. El cual se soporta sobre el contenedor ChatMessageHistory
que extrae los mensajes en una variable de entrada. Esta clase es particularmente útil en aplicaciones como chatbots donde es fundamental recordar interacciones anteriores.
import { BufferMemory, ChatMessageHistory } from 'langchain/memory'
import { HumanMessage, AIMessage } from 'langchain/schema'
const chatHistory = new ChatMessageHistory([
new HumanMessage("Hi! I'm Jim."),
new AIMessage(
"Hi Jim! It's nice to meet you. My name is AI. What would you like to talk about?",
),
])
const memory = new BufferMemory({
chatHistory,
})
Con lo anterior, se agregó de un historial de conversación al LLM. Para darle de contexto y efectuar correctamente la siguiente tarea o pregunta.
import { ConversationChain } from 'langchain/chains'
const chain = new ConversationChain({
llm,
memory,
})
const response = await chain.call({ input: "What's my name?" })
Las dos principales decisiones de diseño en cualquier sistema de memoria son:
.
.
Detrás de cualquier memoria hay un historial de todas las interacciones de chat. Aunque no se utilicen todas directamente, es necesario almacenarlas de alguna forma. Una de las partes clave del módulo de memoria de LangChain es una serie de integraciones para almacenar estos mensajes de chat, desde listas en memoria hasta bases de datos persistentes.
import { ConversationChain } from 'langchain/chains'
import { ChatOpenAI } from 'langchain/chat_models/openai'
import { BufferMemory, ChatMessageHistory } from 'langchain/memory'
import { HumanMessage, AIMessage } from 'langchain/schema'
const API_TOKEN = // 👈 Enter the API Token from OpenAI
const llm = new ChatOpenAI({
maxTokens: -1,
modelName: 'gpt-4',
temperature: 0,
openAIApiKey: API_TOKEN,
})
const chatHistory = new ChatMessageHistory([
new HumanMessage("Hi! I'm Jim."),
new AIMessage(
"Hi Jim! It's nice to meet you. My name is AI. What would you like to talk about?",
),
])
const memory = new BufferMemory({
chatHistory,
})
const chain = new ConversationChain({
llm,
memory,
})
const response = await chain.call({ input: "What's my name?" })
.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?