Resumen
El episodio es la segunda parte de una serie sobre modelos de lenguaje: tras repasar el flujo de consulta con embeddings visto en el capítulo anterior (chatbot para PDF), se explica cómo crear un asistente virtual con IA. Se define el asistente como una "persona virtual" dinámica que entiende instrucciones en lenguaje natural y ejecuta tareas, y se presenta un diagrama con sus partes: template (rol), contexto, funciones, integraciones, interacción y memoria. Se muestra en vivo un GPT personalizado de ChatGPT Plus que resume los episodios del podcast, con sus límites (cuota de uso, no puede editar archivos largos línea a línea). Se discuten las consideraciones de ingeniería (textos largos, costo, RAG), los frameworks (LangChain, LlamaIndex, AutoGen, DevGPT), bases vectoriales y herramientas complementarias. La conclusión es que crear asistentes no es fácil: con código y la API se tiene más control que con una herramienta no-code, y el siguiente paso serán los sistemas multiagente.
Capítulos
- 00:00IntroRepaso del capítulo 54: el texto y la consulta se pasan a embeddings y se buscan documentos similares en un espacio vectorial. Se discute qué es un asistente virtual (una "persona virtual" que ejecuta tareas), por qué es dinámico frente al software clásico, y se responde una duda del chat sobre feature engineering (atributos derivados, ratios, atributos accionables y su uso en redes neuronales).
- 13:02Modelos fundacionalesSe distingue entre modelos preentrenados (GPT-4, Falcon, Llama 2, Mistral, PaLM 2) y modelos con fine tuning (ChatGPT sobre GPT-4, Code Llama sobre Llama 2), que predicen la siguiente palabra. Se comenta el uso de modelos open source alojados en casa por temas de privacidad y Stability AI (Stable Diffusion).
- 16:48Diagrama del proceso para crear un asistentePasos: template (rol en el mensaje "system", frente a "assistant" y "user"), contexto propio, funciones deterministas (p. ej. consulta SQL de precios, con cuidado en los privilegios de la base de datos), integraciones (Google Docs, Teams, Discord, GitHub), interfaz de conversación y memoria. Se plantea la "ingeniería de IA" como mezcla de software determinístico y proyectos probabilísticos que requieren validación.
- 27:52GPTsDemostración de un GPT personalizado de ChatGPT Plus ("encoders") con 15 transcripciones como knowledge; detrás usa embeddings. Se menciona la cuota de GPT-4, el costo de la API y la imposibilidad de que corrija el archivo línea por línea. Se prueban preguntas sobre el estilo de conversación de los presentadores y mejoras para el podcast.
- 40:40MemesSe comentan memes de la semana: automatización de timelines (de una hora a 15 minutos), asistentes de búsqueda que amenazan a Google, razonamiento de la IA y el rumor sobre Sam Altman, apps que generan memes y el rol de Scrum Master/PM con sus roles en equipos.
- 49:53ConsideracionesEl LLM tiene problemas con documentos largos y muchos documentos, y procesar grandes volúmenes es costoso (se acabó la cuota de tokens). Se mencionan resumir, usar embeddings y la alternativa de hacer fine tuning.
- 51:00RAGs y flujo de consultaEl RAG (retrieval) funciona peor con muchos documentos; se combinan búsquedas por fragmentos pequeños y por oraciones. En una aplicación real hay trabajo de ingeniería y no basta con subir el PDF.
- 52:00FrameworksLangChain (open source, con servicios de pago como LangSmith para calidad y deployment), LlamaIndex, Canopy de Pinecone, y los multiagentes AutoGen (Microsoft) y DevGPT. Se advierte que lo open source tiene foco comercial, que LangChain puede usar modelos locales (Llama, Alpaca) sin enviar datos y que hay críticas por su documentación y cambios entre versiones.
- 01:02:33DatabaseLos GPTs no tienen memoria; se puede guardar texto o usar bases vectoriales (Chroma DB, Pinecone, Weaviate, FAISS) para embeddings. Se dice que el RAG funciona mejor con bases de grafos.
- 01:04:03HerramientasHerramientas complementarias: Apify (web scraping), Airtable (base en la nube por API), Zapier (integraciones), RunPod (GPU en la nube para modelos open source) e interfaces de chat open source.
- 01:06:19ConclusionCrear asistentes no es fácil: hay que considerar volumen de datos, costo, latencia y memoria. Con Python y la API de OpenAI hay más control que con GPTs (no-code, más rígido). Se recomiendan LangChain y LlamaIndex, y para bases vectoriales FAISS, Chroma, Pinecone y Weaviate (este de pago tras un uso bajo). Se prueba la generación de timelines de un episodio, con resultado mejorable. Se anuncia una tercera parte sobre multiagentes y un invitado (Daniel) en la próxima sesión. Se discute la diferencia entre asistente virtual y chatbot, y un ejemplo de multiagentes para generar y criticar ideas.
- 01:19:50CierreInvitación a Discord y YouTube, y recomendación del stream de Crono Cero, que trabaja con LLM y en inglés.