¿IA generativa en tu aplicación? ¿Qué podría salir mal?

Rate this content
Bookmark

La utilización de modelos de IA generativos puede resultar en una gran variedad de salidas, incluso inesperadas, lo que los hace menos deterministas y más difíciles de probar. Al intentar integrar estos modelos en tu aplicación, puede ser un desafío garantizar que mantienes un alto nivel de calidad de estas salidas de IA, e incluso asegurar que sus resultados no interrumpan el flujo de tu aplicación. Ven a revivir mi viaje de descubrimiento sobre cómo pude mejorar drásticamente los resultados de la API de ChatGPT de OpenAi, para su uso dentro del producto de mi empresa. En esta charla compartiré muchos consejos que te ayudarán a utilizar de manera más efectiva el poder de modelos de IA como ChatGPT en tus propias aplicaciones, incluyendo estrategias de prueba y cómo evitar muchos de los problemas con los que me encontré.

This talk has been presented at TestJS Summit 2023, check out the latest edition of this JavaScript Conference.

FAQ

GenreBI es una herramienta que se utiliza en el contexto de desarrollo de software para mejorar la calidad del código, aplicándose en pruebas y otros aspectos del desarrollo de productos de software.

La misión de Severity es tomar mejores decisiones en los equipos de producto, enfocándose en ingenieros y personal de producto para mejorar la calidad y efectividad de sus desarrollos.

Es crucial entender las limitaciones de los modelos de OpenAI para asegurar la calidad del software. Conocer sus fortalezas y debilidades permite integrar la inteligencia artificial de manera más efectiva en el desarrollo de productos.

Para manejar la naturaleza no determinista de los modelos de IA, se utilizan estrategias como pruebas de contrato dinámicas y el ajuste de indicaciones para mejorar la precisión de las respuestas.

Se utilizó Docker para lanzar una instancia de Puppeteer en un servidor EC2 y exponer una API que emulaba la funcionalidad de ChatGPT, permitiendo su integración en aplicaciones antes de que estuviera disponible una API oficial.

Los desafíos incluyen manejar respuestas no deterministas, integrar adecuadamente las funciones de IA en el flujo de aplicaciones, y entender y adaptarse a las limitaciones específicas de los modelos de IA utilizados.

La prueba de contrato permite validar la interacción con la API sin incurrir en costos adicionales por uso y minimiza las latencias al utilizar respuestas simuladas, lo que es especialmente útil cuando se interactúa con APIs basadas en uso como las de OpenAI.

Todd Fisher
Todd Fisher
29 min
07 Dec, 2023

Comments

Sign in or register to post your comment.
Video Summary and Transcription
La charla de hoy discute la aplicación de GenreBI en aplicaciones, utilizando Docker para hacer que ChatGPT funcione en cualquier máquina, desafíos con las respuestas JSON, pruebas de modelos de IA, manejo de problemas de API de IA y respuestas, conteo de tokens y límites de tasa, descubriendo limitaciones y adoptando un enfoque reactivo, la fiabilidad y los desafíos de las API de IA, y el uso de GPT y AI Copilot en el desarrollo de software.

1. Introducción a GenreBI en Apps

Short description:

Hoy, quiero hablar sobre GenreBI en nuestras aplicaciones como una característica del producto. Discutiremos su aplicación en bases de código y la importancia de la calidad. Comprender el flujo de una aplicación y sus dependencias, específicamente las limitaciones de los modelos de OpenAI, es crucial para una mejor toma de decisiones y la calidad general del producto.

Genial. Así que hoy quiero hablar un poco sobre GenreBI en nuestras aplicaciones como una especie de característica del producto. Un poco diferente a la charla anterior que dio Olga, que fue bastante impresionante, usas GenreBI para escribir pruebas. En este caso, queremos hablar un poco sobre el otro lado de donde se podría aplicar GenreBI en tu base de código, que esencialmente se filtra en tu prueba, ¿verdad? Dicho esto, quiero cubrir brevemente nuestra compañía, en la que trabajo actualmente, Severity, he estado aquí durante aproximadamente un año. Hacemos un montón de cosas de IA. Nuestra misión final es tomar mejores decisiones, desde el existencial humano, vamos a tomar mejores decisiones donde podamos. Pero, por supuesto, eso es algo a gran escala. Así que realmente queremos centrarnos ahora en tomar mejores decisiones en los equipos de producto. Ingenieros, gente de producto, ese tipo de cosas. Así que si eso suena interesante, ve a este sitio web. Si no, eso también está bien. Eso es más contexto de, hemos estado trabajando con esto durante aproximadamente un año. Y con eso, por supuesto, hay muchas cosas de GenreBI que hemos estado utilizando. Y eso es solo un poco de contexto aquí en lo que voy a compartir hoy, porque realmente hay muchas cosas geniales que puedes hacer con la IA, pero hay muchas cosas extrañas cuando realmente pones la IA en las bases de código e intentas hacer que las cosas funcionen desde una perspectiva de producto. Entonces, dicho esto, la calidad es muy importante. Hay muchos aspectos de la calidad en las bases de código. Testing es un aspecto de muchos aspectos. Hay muchas formas diferentes de probar. No entraremos en eso porque creo que todos tenemos una buena idea de lo que son esas cosas. Unidad, hay manual testing, testing automatizado, y mil cosas más. Ahora, otro aspecto importante de la calidad es esta idea de planificar o diseñar el flujo de una aplicación. Entender eso, es muy clave. Comprender cómo los usuarios fluirán a través de tu aplicación, entender dónde las cosas pueden fallar, ese tipo de cosas. Entonces, también voy a tocar un poco sobre eso hoy. Y luego este tercero es entender las dependencias, específicamente sus comportamientos y limitaciones. Entonces, cuando empiezas a usar la IA en tu aplicación como una característica del producto, tienes que entender realmente esas dependencias. En este caso específico, el case study que estoy compartiendo hoy con el material muy es que estamos usando los modelos de OpenAI. Y con eso, es muy crítico entender que los modelos de OpenAI son muy buenos en ciertas cosas, pero muy malos en otras cosas. Y entonces, cuanto mejor entendamos las limitaciones, en general podremos dar mejor calidad, porque al final del día, ya sea pruebas, ya sea diseñar cosas, la calidad es realmente lo que estamos tratando de resolver. Y entonces, dicho esto, esto en realidad puede aplicarse a otros LLMs, otros modelos por ahí, pero específicamente, hemos estado usando OpenAI, y por lo tanto estos ejemplos serán en OpenAI

2. Uso de Docker para hacer que ChatGPT funcione en cualquier máquina

Short description:

Una de las características de Verity era la capacidad de crear y generar documentos. También teníamos un código de ejemplo que demostraba el uso de ChatGPT. Sin embargo, no había una API de ChatGPT para bases de código, lo cual era una gran desventaja. Para solucionar esto, se nos ocurrió la idea de usar Docker para hacer que funcione en cualquier máquina. Vamos a explorar este concepto más a fondo.

formato. Así que, dicho esto, una de las características de Verity que construimos temprano, antes de que saliera ChatGPD, era esta idea de crear un documento, generar o redactar un documento, y eso funcionó bastante bien. Permíteme pasar al siguiente. Así que, código de ejemplo aquí. Yo solo voy a cubrir brevemente esto para ver si funciona bien. Oh, mira eso. Genial. Increíble. Entonces, importación típica de SDK aquí arriba, y luego tenemos una llamada de completions. Eso es esencialmente cómo OpenAI realmente llamará a la IA. Y luego aquí tenemos este prompt aquí. Esto es esencialmente lo que verías en cualquier tipo de cosa de ChatGPT, donde escribes algún tipo de comando, algún tipo de prompt. Eso se cubre aquí. Así que, dicho esto, tenemos este ejemplo aquí. Y por supuesto, si lo ejecutas, tendrías algo como local host es mi servidor, ¿cuál es el tuyo?, para completar las rosas son rojas, las violetas son azules. Lo siento, siento que esto está en el camino. Permíteme subir más aquí, y así sucesivamente, ¿verdad? Y entonces, como dije, así que si vas al playground en ChatGPT, misma idea allí. Así que, esas son las dos cosas que son iguales allí.

Así que, dicho esto, si retrocedemos a noviembre de 2022, salió ChatGPT. Fue un gran revuelo. Todos estaban como, tan emocionados. Oh, ChatGPT, va a revolucionar el mundo, todas esas cosas buenas. Y creo que en su mayor parte tenían razón. Y entonces, una desventaja, sin embargo, con ese anuncio fue que no había una API de ChatGPT para que las bases de código realmente usaran cosas geniales de IA, al menos no todavía. Y eso fue un gran bajón. Y entonces, sabes, pensando en este playground donde podrías escribir cualquier prompt y generar lo que diablos quieras, no teníamos eso en la base de código, ¿verdad? Y entonces, tuvimos esta idea genial. ¿Alguien aquí ha usado Docker? Así que, Docker es una idea bastante genial, ¿verdad? Y este es uno de mis memes favoritos sobre Docker. Es como, bueno, funciona en mi máquina. ¿Y si encontramos una forma de hacer que funcione en no mi máquina? Y entonces, vamos a tomar esto. Así que, esto es algo que intentamos.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Construyendo un Asistente AI Activado por Voz con Javascript
JSNation 2023JSNation 2023
21 min
Construyendo un Asistente AI Activado por Voz con Javascript
Top Content
This Talk discusses building a voice-activated AI assistant using web APIs and JavaScript. It covers using the Web Speech API for speech recognition and the speech synthesis API for text to speech. The speaker demonstrates how to communicate with the Open AI API and handle the response. The Talk also explores enabling speech recognition and addressing the user. The speaker concludes by mentioning the possibility of creating a product out of the project and using Tauri for native desktop-like experiences.
IA y Desarrollo Web: ¿Exageración o Realidad?
JSNation 2023JSNation 2023
24 min
IA y Desarrollo Web: ¿Exageración o Realidad?
Top Content
This talk explores the use of AI in web development, including tools like GitHub Copilot and Fig for CLI commands. AI can generate boilerplate code, provide context-aware solutions, and generate dummy data. It can also assist with CSS selectors and regexes, and be integrated into applications. AI is used to enhance the podcast experience by transcribing episodes and providing JSON data. The talk also discusses formatting AI output, crafting requests, and analyzing embeddings for similarity.
El Ascenso del Ingeniero de IA
React Summit US 2023React Summit US 2023
30 min
El Ascenso del Ingeniero de IA
The rise of AI engineers is driven by the demand for AI and the emergence of ML research and engineering organizations. Start-ups are leveraging AI through APIs, resulting in a time-to-market advantage. The future of AI engineering holds promising results, with a focus on AI UX and the role of AI agents. Equity in AI and the central problems of AI engineering require collective efforts to address. The day-to-day life of an AI engineer involves working on products or infrastructure and dealing with specialties and tools specific to the field.
Aplicaciones Web del Futuro con Web AI
JSNation 2024JSNation 2024
32 min
Aplicaciones Web del Futuro con Web AI
Web AI in JavaScript allows for running machine learning models client-side in a web browser, offering advantages such as privacy, offline capabilities, low latency, and cost savings. Various AI models can be used for tasks like background blur, text toxicity detection, 3D data extraction, face mesh recognition, hand tracking, pose detection, and body segmentation. JavaScript libraries like MediaPipe LLM inference API and Visual Blocks facilitate the use of AI models. Web AI is in its early stages but has the potential to revolutionize web experiences and improve accessibility.
Cobertura de código con IA
TestJS Summit 2023TestJS Summit 2023
8 min
Cobertura de código con IA
Codium is a generative AI assistant for software development that offers code explanation, test generation, and collaboration features. It can generate tests for a GraphQL API in VS Code, improve code coverage, and even document tests. Codium allows analyzing specific code lines, generating tests based on existing ones, and answering code-related questions. It can also provide suggestions for code improvement, help with code refactoring, and assist with writing commit messages.
Construyendo la IA para Athena Crisis
JS GameDev Summit 2023JS GameDev Summit 2023
37 min
Construyendo la IA para Athena Crisis
Join Christoph from Nakazawa Tech in building the AI for Athena Crisis, a game where the AI performs actions just like a player. Learn about the importance of abstractions, primitives, and search algorithms in building an AI for a video game. Explore the architecture of Athena Crisis, which uses immutable persistent data structures and optimistic updates. Discover how to implement AI behaviors and create a class for the AI. Find out how to analyze units, assign weights, and prioritize actions based on the game state. Consider the next steps in building the AI and explore the possibility of building an AI for a real-time strategy game.

Workshops on related topic

IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
Aprovechando LLMs para Construir Experiencias de IA Intuitivas con JavaScript
JSNation 2024JSNation 2024
108 min
Aprovechando LLMs para Construir Experiencias de IA Intuitivas con JavaScript
Featured Workshop
Roy Derks
Shivay Lamba
2 authors
Hoy en día, todos los desarrolladores están utilizando LLMs en diferentes formas y variantes, desde ChatGPT hasta asistentes de código como GitHub CoPilot. Siguiendo esto, muchos productos han introducido capacidades de IA integradas, y en este masterclass haremos que los LLMs sean comprensibles para los desarrolladores web. Y nos adentraremos en la codificación de tu propia aplicación impulsada por IA. No se necesita experiencia previa en trabajar con LLMs o aprendizaje automático. En su lugar, utilizaremos tecnologías web como JavaScript, React que ya conoces y amas, al mismo tiempo que aprendemos sobre algunas nuevas bibliotecas como OpenAI, Transformers.js
Masterclass: Qué son y cómo aprovechar los LLMs
React Summit 2024React Summit 2024
66 min
Masterclass: Qué son y cómo aprovechar los LLMs
Featured Workshop
Nathan Marrs
Haris Rozajac
2 authors
Únete a Nathan en esta sesión práctica donde primero aprenderás a alto nivel qué son los modelos de lenguaje grandes (LLMs) y cómo funcionan. Luego sumérgete en un ejercicio de codificación interactivo donde implementarás la funcionalidad de LLM en una aplicación de ejemplo básica. Durante este ejercicio, adquirirás habilidades clave para trabajar con LLMs en tus propias aplicaciones, como la ingeniería de indicaciones y la exposición a la API de OpenAI.
Después de esta sesión, tendrás una idea de qué son los LLMs y cómo se pueden utilizar prácticamente para mejorar tus propias aplicaciones.
Tabla de contenidos:- Demostración interactiva de la implementación de funciones básicas impulsadas por LLM en una aplicación de demostración- Discutir cómo decidir dónde aprovechar los LLMs en un producto- Lecciones aprendidas sobre la integración con OpenAI / descripción general de la API de OpenAI- Mejores prácticas para la ingeniería de indicaciones- Desafíos comunes específicos de React (gestión de estado :D / buenas prácticas de UX)
Trabajando con OpenAI y la Ingeniería de Prompts para Desarrolladores de React
React Advanced 2023React Advanced 2023
98 min
Trabajando con OpenAI y la Ingeniería de Prompts para Desarrolladores de React
Top Content
Workshop
Richard Moss
Richard Moss
En esta masterclass daremos un recorrido por la IA aplicada desde la perspectiva de los desarrolladores de front end, enfocándonos en las mejores prácticas emergentes cuando se trata de trabajar con LLMs para construir grandes productos. Esta masterclass se basa en los aprendizajes obtenidos al trabajar con la API de OpenAI desde su debut en noviembre pasado para construir un MVP funcional que se convirtió en PowerModeAI (una herramienta de creación de ideas y presentaciones orientada al cliente).
En la masterclass habrá una mezcla de presentación y ejercicios prácticos para cubrir temas que incluyen:
- Fundamentos de GPT- Trampas de los LLMs- Mejores prácticas y técnicas de ingeniería de prompts- Uso efectivo del playground- Instalación y configuración del SDK de OpenAI- Enfoques para trabajar con la API y la gestión de prompts- Implementación de la API para construir una aplicación orientada al cliente potenciada por IA- Ajuste fino y embeddings- Mejores prácticas emergentes en LLMOps
Construyendo Aplicaciones AI para la Web
React Day Berlin 2023React Day Berlin 2023
98 min
Construyendo Aplicaciones AI para la Web
Workshop
Roy Derks
Roy Derks
Hoy en día, cada desarrollador está utilizando LLMs en diferentes formas y figuras. Muchos productos han introducido capacidades AI incorporadas, y en esta masterclass aprenderás cómo construir tu propia aplicación AI. No se necesita experiencia en la construcción de LLMs o en el aprendizaje automático. En cambio, utilizaremos tecnologías web como JavaScript, React y GraphQL que ya conoces y amas.
Construyendo tu Aplicación de IA Generativa
React Summit 2024React Summit 2024
82 min
Construyendo tu Aplicación de IA Generativa
WorkshopFree
Dieter Flick
Dieter Flick
La IA generativa está emocionando a los entusiastas de la tecnología y a las empresas con su vasto potencial. En esta sesión, presentaremos Retrieval Augmented Generation (RAG), un marco que proporciona contexto a los Modelos de Lenguaje Grande (LLMs) sin necesidad de volver a entrenarlos. Te guiaremos paso a paso en la construcción de tu propia aplicación RAG, culminando en un chatbot completamente funcional.
Conceptos Clave: IA Generativa, Retrieval Augmented Generation
Tecnologías: OpenAI, LangChain, AstraDB Vector Store, Streamlit, Langflow