Maison > Article > interface Web > Première contribution
J'ai récemment apporté ma première contribution à une très bonne application de complétion de chat construite en utilisant TypeScript, en collaboration avec le propriétaire du projet, Majd Al Mounayer. Majd a une grande compréhension du développement, allant de l'ESLint aux actions CI. En examinant son projet, j'ai remarqué qu'une structure de base solide rend une application évolutive et permet aux nouveaux contributeurs d'ajouter plus facilement des fonctionnalités.
Sur la base des instances Groq, ce serait une bonne idée de fournir aux utilisateurs une option --token_usage ou -t pour surveiller le nombre de jetons renvoyés ou utilisés à des fins d'optimisation. Ceci est important car certains blocs de code peuvent dépasser la limite de jetons appliquée à chaque modèle.
Après avoir discuté de plusieurs commentaires et compris ce qu'il faut faire pour ajouter cette fonctionnalité dans ce projet.
Ajout de handleTokenFlag pour vérifier le passage des arguments qui ont --token-usage ou -tu si oui, nous stderr pour l'utilisation du jeton.
[x] La construction n'échoue pas.
[x] Testé localement.
[x] Les erreurs de peluchage, le cas échéant, sont résolues.
Ajout de handleTokenFlag pour vérifier le passage des arguments qui ont --token-usage ou -tu si oui, nous stderr pour l'utilisation du jeton.
[x] La construction n'échoue pas.
[x] Testé localement.
[x] Les erreurs de peluchage, le cas échéant, sont résolues.
Il a suggéré de souligner que lors de la vérification de l'argument dans la CLI, nous n'avons pas besoin de l'envelopper avec un bloc try-catch, j'ai donc corrigé et apporté une modification.
Ajout de handleTokenFlag pour vérifier le passage des arguments qui ont --token-usage ou -tu si oui, nous stderr pour l'utilisation du jeton.
[x] La construction n'échoue pas.
[x] Testé localement.
[x] Les erreurs de peluchage, le cas échéant, sont résolues.
Lors de l'optimisation, il traite plusieurs fichiers à la fois, le résultat peut être très volumineux. Cela obligerait alors l'utilisateur à faire défiler vers le haut pour voir les jetons, ce qui n'est pas convivial. Je pense que les informations sur le jeton doivent être affichées en bas de la sortie du programme, sous toutes les sorties de fichiers traitées.
D'après la citation, j'ai fait une modification en appelant stderr à la fin de l'application pour afficher le jeton en bas de l'application.
Ajout de handleTokenFlag pour vérifier le passage des arguments qui ont --token-usage ou -tu si oui, nous stderr pour l'utilisation du jeton.
[x] La construction n'échoue pas.
[x] Testé localement.
[x] Les erreurs de peluchage, le cas échéant, sont résolues.
Ce bug est dû à une mauvaise condition if lors de l'achèvement du traitement de la condition if, vérifiez que l'indicateur de --token-usage est transmis à l'argument ou non, mais je l'utilise ensuite avec une condition else qui renvoie l'erreur si la réponse n'est pas trouvée. .token donc au lieu de
if (tokenUsageInformation && chatCompletion?.usage) {
this.saveTokenUsageInfo(chatCompletion?.usage);
} autre {
lancer une nouvelle erreur (`
Les informations sur l'utilisation du jeton ne sont pas disponibles pour le fichier : ${fileName}
`);
changer pour
si (tokenUsageInformation) {
si (!chatCompletion.usage) {
throw new Error('Les informations sur l'utilisation du jeton ne sont pas disponibles');
>
this.accumulateToken(chatCompletion?.usage);
Cela garantit que l'utilisation du jeton est correctement gérée et si les informations ne sont pas disponibles, une erreur appropriée est générée sans interrompre le flux de l'application.
Dans l'ensemble, contribuer à ce projet m'a permis d'en apprendre davantage sur les différents styles de codage et de m'y adapter. La cohérence de Majd dans l’utilisation d’ESLint a rendu le modèle de développement très clair, contribuant ainsi à garantir un processus de contribution fluide.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!