Potenciando el Asistente de Código Cody utilizando LLMs

Rate this content
Bookmark
Rishabh Mehrotra
Rishabh Mehrotra
29 min
15 Jun, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Esta charla explora el mundo de los asistentes de codificación impulsados por modelos de lenguaje (LLMs) y sus casos de uso en el desarrollo de software. Se adentra en desafíos como comprender el código extenso y desarrollar modelos para el contexto en LLMs. Se discute la importancia de la clasificación y el contexto del código, junto con el uso de señales de supervisión débiles y la adaptación de modelos para la finalización de código. La charla también aborda la evaluación de modelos y las tendencias futuras en IA de código, incluida la automatización y el papel de las tareas, los lenguajes de programación y el contexto del código.

1. Introducción a los Asistentes de Codificación

Short description:

Hoy vamos a hablar sobre qué tipo de problemas de ML enfrentamos, los componentes del sistema y cómo evaluar y considerar el contexto. También discutiremos el stack, los problemas en el contexto, los modelos, la evaluación y los matices. Por último, resumiremos el estado actual de la IA en el código y exploraremos el futuro, además de tocar la automatización de tareas complejas.

Genial. Buenas tardes a todos. Gracias por volver. Gracias por quedarse. Es como una sala vacía. Esperemos que la gente participe.

Mi nombre es Rishabh. Esta introducción está desactualizada porque estaba trabajando en personalización, y ahora estoy trabajando en ML generativo. Soy el jefe de IA en SourceCraft.

Solo una rápida muestra de manos, ¿cuántos de ustedes conocen a Cody? ¿Algunos? Ok. Bien. ¿Cuántos de ustedes están usando algún asistente de codificación, incluyendo Copilot o Cody? Algunos. Bien, genial. Así que hoy vamos a hablar mucho sobre qué tipo de problemas de ML enfrentamos, a alto nivel, cuáles son los diferentes componentes del sistema y cómo evaluamos esto, cómo pensamos en el contexto alrededor de esto, en esencia.

Un poco de contexto. Crecí en India. Estaba haciendo mi doctorado en búsqueda y recomendaciones. Estaba en Spotify investigando sobre recomendaciones de música, toma de decisiones multiobjetivo y recientemente estoy trabajando en ML de código. Así que vengo de un fondo de aprendizaje automático y lo aplico a las recomendaciones de medios y ahora al dominio de la codificación.

Hoy vamos a hablar sobre cuatro temas principales. Cinco minutos cada uno, aproximadamente. Comenzaremos hablando sobre qué hacen en general los asistentes de codificación. Esto es similar a lo que hacen Cody, Copilot y otros, pero mencionaré uno o dos matices sobre estos problemas. Pasaremos la mayor parte del tiempo hablando sobre cómo se ve el stack, qué problemas hay en el contexto, qué problemas hay en los modelos, qué problemas hay en la evaluación y cuáles son los matices allí. Hacia el final de los últimos cinco a ocho minutos, resumiré hacia dónde vamos ¿Cómo se ve el nivel de IA en el código? ¿Dónde estamos ahora, qué creemos que podría venir en el futuro y luego mi tema favorito, la automatización de tareas complejas, y compartir algunas ideas al respecto.

Genial. Si comenzamos con Cody, entonces Cody es un asistente de codificación. Vive en tu navegador, en tu IDE. Así que si estás usando VSCode, JetBrains, Eclipse, cualquiera de estos IDE con los que estés trabajando, es un tipo de asistente de codificación que te ayuda a ser un desarrollador más productivo. Y especialmente lo que eso significa es que tenemos características como autocompletar que dice que si estás escribiendo código, podemos ayudarte a escribir código más rápido.

2. Asistentes de Codificación: Casos de Uso y Áreas Problemáticas

Short description:

Puedes codificar más rápido utilizando LLMs mediante el uso de completado, chat, generación de pruebas unitarias, explicación de código, detección de malos olores en el código, seguridad y detección de vulnerabilidades, y comandos personalizados. Estos son los casos de uso por los que la gente está utilizando actualmente Coddy. Discutiremos los problemas superpuestos y las tres áreas principales: contexto, modelos y evaluación.

Así que puedes code más rápido utilizando LLMs. Un ejemplo aquí sería que, oye, estoy escribiendo code, pero lo estoy haciendo en un repositorio grande. Así que hay un contexto sobre lo que estoy tratando de hacer. Y no se trata solo de este archivo, hay algún otro contexto en alguna otra parte del repositorio o tal vez en algunos otros repositorios también. Comienzas a escribir el completado correcto. Sugerir eso. Y cuando estás sugiriendo, puedes hacer un completado de una sola línea o un completado de varias líneas también. Y luego las latencias y todo tipo de factores entran en juego allí. Así es como se ve el completado.

También puedes chatear sobre repositorios, sobre tu code. Imagina que eres un nuevo desarrollador en un equipo y quieres entender de qué se trata esta base de código. Entonces entrarás y dirás, oye, cuéntame sobre esto. O si quiero hacer esto, simplemente chatea sobre tu base de código, básicamente. También puedes comenzar a ver la generación de unit test. Y el problema sería que selecciono un fragmento de code y luego puedo ir a Coddy y decir, ¿puedes generar una unit test para esto, por favor? También puedes ver la explicación del code. Y puedes decir simplemente ponerse al día. Similar al chat, pero más centrado en la explicación. También puedes ver los malos olores en el code. Así que los malos olores en el code son formas de encontrar cómo puedo optimizar un poco más este code. También puedes extenderlo a la security y detección de vulnerabilidades y muchas otras cosas. Y la lista continúa. También puedes crear comandos personalizados, lo que significa que si hay algo que haces diez veces al día, es mejor crear un comando personalizado y dejar que Coddy lo haga por ti. Estos son los casos de uso por los que la gente está utilizando actualmente Coddy. Ahora la pregunta es qué se necesita para construir esto. ¿Y de qué estamos hablando? Y parte de esto, el 70% de esto se superpone no solo con el asistente de codificación, sino también con cualquier co-piloto que veas en el mundo. Incluso si es un co-piloto de ventas, un co-piloto de marketing, un analista de riesgos, todas estas personas intentando desarrollar estos agentes para ayudar a algunos desarrolladores en la industria. La mayoría de estos problemas también son bastante comunes allí. Así que vamos a hablar de tres problemas aquí. El contexto, los modelos y la evaluación. Y todos estos son muy importantes. Y no es la primera vez que los vemos.

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

Compilador React Forget - Entendiendo React Idiomático
React Advanced Conference 2023React Advanced Conference 2023
33 min
Compilador React Forget - Entendiendo React Idiomático
Top Content
Joe Savona
Mofei Zhang
2 authors
The Talk discusses React Forget, a compiler built at Meta that aims to optimize client-side React development. It explores the use of memoization to improve performance and the vision of Forget to automatically determine dependencies at build time. Forget is named with an F-word pun and has the potential to optimize server builds and enable dead code elimination. The team plans to make Forget open-source and is focused on ensuring its quality before release.
Acelerando tu aplicación React con menos JavaScript
React Summit 2023React Summit 2023
32 min
Acelerando tu aplicación React con menos JavaScript
Top Content
Mishko, the creator of Angular and AngularJS, discusses the challenges of website performance and JavaScript hydration. He explains the differences between client-side and server-side rendering and introduces Quik as a solution for efficient component hydration. Mishko demonstrates examples of state management and intercommunication using Quik. He highlights the performance benefits of using Quik with React and emphasizes the importance of reducing JavaScript size for better performance. Finally, he mentions the use of QUIC in both MPA and SPA applications for improved startup performance.
SolidJS: ¿Por qué tanto Suspense?
JSNation 2023JSNation 2023
28 min
SolidJS: ¿Por qué tanto Suspense?
Top Content
Suspense is a mechanism for orchestrating asynchronous state changes in JavaScript frameworks. It ensures async consistency in UIs and helps avoid trust erosion and inconsistencies. Suspense boundaries are used to hoist data fetching and create consistency zones based on the user interface. They can handle loading states of multiple resources and control state loading in applications. Suspense can be used for transitions, providing a smoother user experience and allowing prioritization of important content.
De GraphQL Zero a GraphQL Hero con RedwoodJS
GraphQL Galaxy 2021GraphQL Galaxy 2021
32 min
De GraphQL Zero a GraphQL Hero con RedwoodJS
Top Content
Tom Pressenwurter introduces Redwood.js, a full stack app framework for building GraphQL APIs easily and maintainably. He demonstrates a Redwood.js application with a React-based front end and a Node.js API. Redwood.js offers a simplified folder structure and schema for organizing the application. It provides easy data manipulation and CRUD operations through GraphQL functions. Redwood.js allows for easy implementation of new queries and directives, including authentication and limiting access to data. It is a stable and production-ready framework that integrates well with other front-end technologies.
Los Átomos de Jotai Son Simplemente Funciones
React Day Berlin 2022React Day Berlin 2022
22 min
Los Átomos de Jotai Son Simplemente Funciones
Top Content
State management in React is a highly discussed topic with many libraries and solutions. Jotai is a new library based on atoms, which represent pieces of state. Atoms in Jotai are used to define state without holding values and can be used for global, semi-global, or local states. Jotai atoms are reusable definitions that are independent from React and can be used without React in an experimental library called Jotajsx.
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.

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 Conference 2023React Advanced Conference 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