Maison >développement back-end >Tutoriel Python >Fusions rapides et à trois

Fusions rapides et à trois

Barbara Streisand
Barbara Streisandoriginal
2024-09-28 12:16:02971parcourir

Fast-forward and three-way merges

Pendant que je travaille sur mon projet Infusion :
https://github.com/SychAndrii/infusion

J'ai décidé de mettre en œuvre 2 nouvelles fonctionnalités : diffuser les réponses de LLM en temps réel et utiliser les codes de sortie appropriés à la fin du programme. Cependant, au lieu de créer des demandes d'extraction conventionnelles pour intégrer les modifications dans la branche principale, j'ai été chargé d'effectuer les fusions localement dans mon dépôt, puis de transmettre les résultats des fusions vers le dépôt distant.

Le premier enjeu était de mettre en place les codes de sortie :
https://github.com/SychAndrii/infusion/issues/34

Fermé avec commit de fusion :
https://github.com/SychAndrii/infusion/commit/b01f493a8eb3c86aad00760f41f8adf0b93b231e

Cette tâche a été assez facile à mettre en œuvre puisque python vous fournit un package sys pour renvoyer les codes d'état. J'ai décidé d'avoir 4 codes d'état d'erreur pour mon programme :

0 - Le programme s'est terminé avec succès.
1 - Options non valides fournies.
2 - Fichiers non valides fournis.
3 - Erreur inconnue.

En plus d'ajouter des codes d'état, j'ai également refactorisé le code pour qu'il soit plus intuitif avec l'utilisation de plus de fonctions.

Mon deuxième problème était de mettre en œuvre le streaming :
https://github.com/SychAndrii/infusion/issues/33

Fermé avec commit de fusion :
https://github.com/SychAndrii/infusion/commit/b01f493a8eb3c86aad00760f41f8adf0b93b231e

Cette tâche a été plus difficile à réaliser en raison de la bibliothèque LangChain que j'utilise pour mon projet. Cette bibliothèque est relativement nouvelle, donc la documentation sur le streaming avec la fonction astream est très peu intuitive et difficile à comprendre.

J'ai toujours détesté le python et je continuerai à le faire pour le reste de ma vie. J'ai essayé de me sentir plus à l'aise avec ce projet, mais après des langages comme C#, TypeScript ou Kotlin, je ne peux tout simplement pas prendre Python au sérieux.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn