Algo interesante que también puedes hacer es pedirle que responda en algún formato especifico, como por ejemplo JSON, muy útil cuando lo que deseas generar es algún insumo para otro proceso (ingesta de datos, o cosas por el estilo)
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
Omar Espejel
Aportes 9
Preguntas 2
Algo interesante que también puedes hacer es pedirle que responda en algún formato especifico, como por ejemplo JSON, muy útil cuando lo que deseas generar es algún insumo para otro proceso (ingesta de datos, o cosas por el estilo)
Código utilizando la documentación actual:
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.messages import HumanMessage, SystemMessage
llm_gpt3_5 = ChatOpenAI(
model='gpt-3.5-turbo',
n=1,
temperature=0.3
prompt = ChatPromptTemplate.from_messages(
[
("system", "Responde a la pregunta con base en el siguiente contexto:{contexto}, parce. Si la pregunta no puede ser respondida con la información proporcionada, responde con la siguiente frase No tengo ni idea, ome"),
("human", "{input}")
]
)
chain = prompt | llm_gpt3_5
response = chain.invoke(
{
"contexto": "Los Modelos de Lenguaje Grandes (LLMs) son los últimos modelos utilizados en PNL. Su rendimiento superior sobre los modelos más pequeños los ha hecho increíblemente útiles para los desarrolladores que construyen aplicaciones habilitadas para PNL. Estos modelos pueden ser accedidos a través de la biblioteca `transformers` de Hugging Face, a través de OpenAI usando la biblioteca `openai`, y a través de Cohere usando la biblioteca `cohere`.",
"input": ["¿Que es un LLM?"]
}
)
response.content
Los prompts de los LLM tienen una estructura fija basada en 4 componentes, la totalidad de esta dará información suficiente para retornar una respuesta.
.
.
Para ello, empleamos PromptTemplate
desde langchain/prompts
:
import { PromptTemplate } from 'langchain/prompts'
const llm = new OpenAI({
// code ...
})
const prompt = new PromptTemplate({
template: 'Tell me a {adjective} joke about Disney.',
inputVariables: ['adjective'],
})
const formattedPrompt = await prompt.format({
adjective: 'funny',
})
console.log(await llm.predict(formattedPrompt))
Nota.
Mediante una plantillatemplate
, se sustituye el placeholder{adjective}
mediante el uso deinputVariables
.
Conformat
, se reemplaza la referencia para generar una prompt formateado para ser empleado en la nueva petición a OpenAI.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?