¡Excelente curso!
Me encantó
Por favor el
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
Créditos del Curso: Curso de Desarrollo de Aplicaciones de IA con LangChain: Chatbots
Profe: Omar Espejel
School Owner: Carlos Alarcón
Course Director: Miguel Torres
Audiovisual Creator: Candela Ocaranza
Editor: Pablo Valès
Post de audio: Santiago Guarín Suárez
Diseño: Amelia Amórtegui
Aportes 12
Preguntas 0
Me encantó
Por favor el
El aumento de este semestre me lo gane por Platzi, este curso es oro puro, diria que mas.
El mejor curso de IA para dev de Platzi. Gracias!
teest resppuestas
Resumen
1.
Al considerar el uso de los modelos LangChain, ¿qué implicaciones prácticas tendría para su proyecto el cambio entre diferentes modelos?
Gracias a la interfaz consistente de los modelos LangChain, se puede cambiar entre diferentes modelos con facilidad. Lo que permite adaptar el sistema a las necesidades cambiantes.
2.
Al diseñar aplicaciones de IA, ¿cuáles son las diferencias fundamentales entre los modelos de código abierto de Hugging Face y los modelos ofrecidos por proveedores como OpenAI o Cohere?
Los de Hugging Face se ejecutan en la máquina del usuario o en el hardware que defina, lo que puede ser lento sin el hardware adecuado, mientras que los remotos de proveedores como OpenAI se ejecutan en sus servidores.
3.
Dado que LangChain facilita el proceso al enviar preguntas directamente al pipeline de Hugging Face para generar texto, ¿qué implicaciones tendría el uso de ‘temperature’: 0 en model_kwargs?
La ‘temperature’: 0 haría que el modelo no genere ninguna respuesta, ya que esta configuración apaga completamente el modelo al usar LangChain.
REPASAR CLASE
4.
¿Cómo podría afectar el parámetro “n” en la clase OpenAI de langchain al resultado de las consultas realizadas?
El parámetro “n” determina la cantidad de respuestas generadas por el modelo, por lo que un valor mayor de “n” proporciona más opciones de respuestas a una consulta.
5.
¿Por qué puede ser importante y necesario utilizar función get_num_tokens de tiktoken al trabajar con modelos de embeddings?
Permite estimar el número de tokens utilizados en una entrada, lo cual es valioso para controlar el número total de tokens y gestionar costos asociados con el uso del modelo de OpenAI.
6.
¿Qué clase y modelo debe usarse en el siguiente código en Python para cargar un LLM de OpenAI con LangChain?
llm= (
model_name="_________",
n=1,
temperature=0.2
)
ModelOpenAI y davinci-002
REPASAR CLASE
7.
Dentro del siguiente prompt template de LangChain, ¿qué deben recibir las variables input_variables y template?
template_product = “”"Escribe una descripción técnica del producto para distribuidores. Utiliza la ficha técnica siguiente:
{ficha_tecnica}
Respuesta (escribe una lista con detalles de cada característica): “”"
prompt_template_product = PromptTemplate(
input_variables=,
template=_____
)
[“ficha_tecnica”] y template_product
8.
¿Qué es una cadena en LangChain y cómo se utiliza?
LangChain proporciona la interfaz Chain para aplicaciones “encadenadas”. Definimos una Chain o cadena de manera muy genérica como una secuencia de llamadas a componentes, que pueden incluir otras cadenas
9.
¿Qué ocurre si se trata de generar un resumen utilizando load_summarize_chain de LangChain con una chain_type=“stuff”?
Se puede incluir un propio prompt/plantilla, pero solo caben el máximo de tokens permitidos por el modelo y no documentos largos.
10.
Al utilizar el objeto RetrievalQA de LangChain, ¿qué sucede cuando se le pasa una pregunta?
Se utiliza el modelo de lenguaje y el objeto retriever para buscar información relacionada con la pregunta y generar una respuesta.
11.
¿Qué es un Retriever de LangChain?
Un componente que localiza y devuelve documentos relevantes según una consulta específica.
12.
Dentro de una SequentialChain de LangChain, ¿qué debe recibir en chains, output_variables e input_variables?
cadena_secuencial = SequentialChain(
chains=[__________________],
input_variables=[],
output_variables=[]
)
En chains, las cadenas se pasan en el orden consecutivo en el que se utilizarán. input_variables se refiere a las variables de entrada que reciben las cadenas. output_variables designa lo que retorna la última cadena.
¿A qué nos referimos con los “índices” en el contexto de los sistemas de procesamiento de lenguaje natural?
A las formas de estructurar documentos para que los modelos de lenguaje puedan obtener nueva información.
14.
¿Cuál es la función de un Document Loader en LangChain?
Cargar datos y convertirlos al formato Document de LangChain.
¿Qué clase de LangChain se debe usar en el siguiente código para cargar un PDF que mantenga las páginas del documento PDF?
from langchain.document_loaders import _______
loader = _________("./document.pdf")
data = loader.load()
PyPDFLoader
16.
Imagina que estás utilizando el RecursiveCharacterTextSplitter de LangChain para dividir un conjunto de textos. En este proceso, te das cuenta de que algunos de los fragmentos resultantes son más grandes de lo que puede manejar el modelo para generar embeddings. ¿Cómo podrías abordar este problema?
Puedes ajustar el número de caracteres que utiliza el RecursiveCharacterTextSplitter para la división de texto, disminuyendo el número.
17.
Trabajas con una empresa de análisis de texto y tu equipo necesita implementar un sistema para dividir grandes cantidades de texto en fragmentos manejables. ¿Por qué podrías considerar útil el parámetro de superposición o chunk_overlap en este proceso?
La superposición ayuda a mantener el contexto entre fragmentos contiguos, actuando como una pequeña ventana de memoria que se traslada de un fragmento a otro.
18.
¿Por qué deberías considerar útil trabajar con la clase Embeddings de LangChain en una aplicación que integre NLP?
La clase Embeddings de LangChain da una interfaz para trabajar con modelos de embeddings con la que puedes interactuar con varios modelos, sin importar si su proveedor es OpenAI, Cohere, Hugging Face u otro.
19.
En el siguiente código de Python, ¿qué deben recibir los métodos OpenAIEmbeddings() y para qué sirve el método embed_documents().
embedding_openai = OpenAIEmbeddings(__________)
incrustaciones = embedding_openai.embed_documents(documents_to_embed)
Debe recibir un nombre de modelo de embedding de OpenAI. El método embed_documents recibe los Document de LangChain para convertirlos a embeding usando el modelo previamente definido.
20.
¿Por qué es necesario utilizar .client al crear embeddings con modelos de Hugging Face usando LangChain?
Ayuda a medir el tamaño de los embedding a utilizar para no exceder los límites de tamaño de tokens de los modelos.
21.
¿Cómo funciona el proceso de LangChain para que un LLM pueda obtener nueva información de una base de datos vectorial?
Se utiliza un retriever que busca dentro de la base de datos vectorial los textos más parecidos a la solicitud de información. Este retriever se activa con una cadena RetrievalQA que consulta la base de datos usando un LLM.
22.
En el contexto de una conversación con un asistente digital, ¿por qué sería problemático tener una conversación extensa con modelos de lenguaje como GPT-4?
Debido a que los modelos de lenguaje como GPT-4 tienen un límite de tokens (los que ingresamos en el prompt), las conversaciones largas pueden exceder este límite, por ello se debe agregar un componente de memoria.
23.
¿Para qué se utilizan SystemMessage, HumanMessage, AIMessageal definir el schema de los mensajes de una aplicación de chat con LangChain?
SystemMessage es la indicación de contexto que debe seguir el modelo, HumanMessage es el mensaje del humano, AIMessage es la respuesta del modelo.
24.
¿Qué clase y modelo debe usarse en el siguiente código en Python para cargar un modelo de Chat de OpenAI con LangChain?
chat = (
model="_________",
temperature=0.6
)
ChatOpenAI y ‘gpt-4’.
25.
¿Por qué es importante utilizar el SystemMessage en los chatbots?
Porque permite establecer el comportamiento y los objetivos del modelo de lenguaje, proporcionando instrucciones específicas.
26.
Cuando se utiliza la ConversationBufferWindowMemory en LangChain, ¿cuál es una de las implicaciones de ajustar el parámetro max_token_limit?
El max_token_limit determina la capacidad de la memoria para almacenar interacciones sin necesidad de sintetizarlas. Al superar este límite, la memoria genera automáticamente un resumen de las interacciones previas
Ver menos
WAOOOO, sin palabras… increible. El mejor curso que he tomado en Platzi. Excelente y felicitaciones profe
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?