En mi publicación anterior, hablé sobre cómo iniciar una aplicación terminal de código abierto basada en GenAI. Esta semana, la tarea era contribuir con una nueva característica al proyecto de otro usuario. Como teníamos que colaborar con alguien nuevo, me asocié con Lily, quien desarrolló una aplicación con características de mejora de código similares a las mías, ¡excepto que la suya tiene una personalidad de rata!
Siéntete libre de echar un vistazo a su proyecto Rat-Asistente cuando tengas algo de tiempo.
Su código está escrito en TypeScript y, para ser honesto, no tengo mucha experiencia con eso. Estaba un poco ansioso por agregar nuevas funciones sin romper algo accidentalmente. Es curioso: TypeScript me resulta mucho más difícil en comparación con otros lenguajes de programación orientada a objetos como Java o C. Pero pensé que era una buena oportunidad de aprendizaje, así que decidí sumergirme.
Nuestro objetivo era agregar una nueva opción (-t) para mostrar el uso del token tanto para la respuesta como para el mensaje. Entonces, comencé abriendo una incidencia en su repositorio para describir la característica y luego bifurqué el proyecto para que funcionara localmente.
La aplicación estaba usando la API GROQ para sus funciones LLM y, afortunadamente, había una manera fácil de acceder a la información de uso del token a través del campo "uso" en la respuesta de la API:
Dado que la aplicación usaba yargs para los argumentos de la línea de comandos, agregar otra opción fue bastante simple. Lo hice para que, si el usuario especificaba -t o --token-usage, la aplicación mostrara información del token al final de la salida junto con la respuesta de AI. Lo probé varias veces y me aseguré de que no rompiera las funciones existentes. Cuando se confirmó, el código se envió a mi bifurcación e hice una solicitud de extracción.
Había pasado un tiempo desde que hice una solicitud de extracción, así que rápidamente busqué en Google los comandos y descubrí que hay una manera fácil de hacerlo a través de VS Code (en serio, ¿dónde estaría sin él?).
Agregué una breve explicación de la nueva característica y envié la solicitud de extracción:
Fue entonces cuando vi la notificación de la solicitud de extracción de Lily en mi repositorio hace un par de horas. Revisé rápidamente el código, lo probé localmente y ¡funcionó muy bien! Probé para ver si había algún problema con otras opciones y no hubo ninguno. Estaba usando la API Gemini, por lo que era diferente de la API Open AI Chat Completion que otros usan comúnmente, pero aun así logró que funcionara.
No encontré ningún problema o mejora que sugerir, así que acepté su solicitud de extracción y la fusioné con la rama principal. Fue muy divertido (y estresante) que alguien contribuyera a tu código porque no sabes qué esperar y si tendría problemas debido a tu código rúnico.
Pero al final todo salió bien y me hizo apreciar cómo los grandes proyectos de código abierto colaboran y mejoran de forma asincrónica a través de solicitudes de extracción.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3