Dans mon article précédent, j'ai parlé du démarrage d'une application de terminal Open Source basée sur GenAI. Cette semaine, la tâche consistait à apporter une nouvelle fonctionnalité au projet d'un autre utilisateur. Comme nous avons dû collaborer avec quelqu'un de nouveau, j'ai fait équipe avec Lily, qui a développé une application avec des fonctionnalités d'amélioration de code similaires aux miennes, sauf que la sienne a un personnage de rat !
N'hésitez pas à consulter son projet rat-assistant lorsque vous avez un peu de temps.
Son code est écrit en TypeScript, et pour être honnête, je n'en ai pas beaucoup d'expérience. J'étais un peu inquiet à l'idée d'ajouter de nouvelles fonctionnalités sans casser accidentellement quelque chose. C'est drôle : TypeScript me semble beaucoup plus difficile que d'autres langages POO comme Java ou C . Mais j'ai pensé que c'était une bonne opportunité d'apprentissage, alors j'ai décidé de m'y lancer.
Notre objectif était d'ajouter une nouvelle option (-t) pour afficher l'utilisation du jeton à la fois pour la réponse et l'invite. J'ai donc commencé par ouvrir un numéro sur son dépôt pour décrire la fonctionnalité, puis j'ai fait en sorte que le projet fonctionne localement.
L'application utilisait l'API GROQ pour ses fonctionnalités LLM et, heureusement, il existait un moyen simple d'accéder aux informations d'utilisation des jetons via le champ « utilisation » dans la réponse de l'API :
Étant donné que l'application utilisait des yargs pour les arguments de ligne de commande, l'ajout d'une autre option était assez simple. J'ai fait en sorte que, si l'utilisateur spécifiait -t ou --token-usage, l'application afficherait les informations sur le jeton à la fin de la sortie avec la réponse de l'IA. Je l'ai testé plusieurs fois et je me suis assuré qu'il ne cassait pas les fonctionnalités existantes. Lorsque cela a été confirmé, le code a été poussé vers mon fork et j'ai fait une pull request.
Cela faisait un moment que je n'avais pas fait de pull request, alors j'ai rapidement recherché les commandes sur Google et découvert qu'il existe un moyen simple de le faire via VS Code (sérieusement, où serais-je sans cela ?).
J'ai ajouté une brève explication de la nouvelle fonctionnalité et soumis la pull request :
C'est à ce moment-là que j'ai vu la notification de la pull request de Lily sur mon dépôt il y a quelques heures. J'ai rapidement vérifié le code, l'ai testé localement et cela a très bien fonctionné ! J'ai testé pour voir s'il y avait des problèmes avec d'autres options et il n'y en avait pas. J'utilisais l'API Gemini, c'était donc différent de l'API Open AI Chat Completion couramment utilisée par d'autres, mais elle a quand même réussi à la faire fonctionner.
Je n'ai trouvé aucun problème ou amélioration à suggérer, j'ai donc accepté sa pull request et l'ai fusionnée dans la branche principale. C'était plutôt amusant (et angoissant) que quelqu'un contribue à votre code parce que vous ne savez pas à quoi vous attendre et s'il aurait des problèmes à cause de votre code runique.
Mais tout s'est finalement bien passé, et cela m'a fait apprécier la façon dont les grands projets open source collaborent et s'améliorent de manière asynchrone grâce à des demandes d'extraction.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3