Maison > développement back-end > Tutoriel Python > Contribuer à ORAAssistant

Contribuer à ORAAssistant

Susan Sarandon
Libérer: 2024-11-29 06:00:15
original
195 Les gens l'ont consulté

Introduction

J'étais heureux d'avoir contribué à divers référentiels pendant le Hacktoberfest, mais dès le Hacktoberfest, j'ai eu cette nouvelle et profonde excitation de contribuer à davantage de projets Open-Source. J'avais contribué à de nombreux projets qui avaient une pile technologique incluant à la fois le backend et le front-end, mais cette fois-ci, je voulais contribuer à un projet basé sur l'IA, en particulier quelque chose lié à RAG (Retrieval Augmented Generation) car je voulais approfondir dedans

Assistante OR

En recherchant de nombreux dépôts basés sur RAG, je suis tombé sur un outil RAG open source parfait, ORAssistant, qui est encore une fois un chatbot qui répond aux questions ou demandes courantes pour un projet plus vaste.

L'architecture de cet outil est assez complexe, j'essaie encore de comprendre comment fonctionne l'architecture principale des requêtes, mais c'est la partie passionnante, apprendre au fur et à mesure que je contribue.

Problème

Pour mon premier numéro, j'ai choisi l'un des problèmes où la tâche consistait à automatiser la boucle de rétroaction. En termes de Leyman, cela implique qu'une application RAG dépend généralement des commentaires de l'utilisateur pour affiner davantage le réponse, la tâche consistait à obtenir ce retour de l'utilisateur, à le stocker dans une base de données et à le renvoyer au modèle lui-même

L'architecture ressemblerait à ceci

Contributing to ORAssistant

Actuellement, le système stocke les commentaires dans Google Sheets, ce qui, encore une fois, n'est pas une approche optimisée

Ce problème en lui-même prendrait environ 4 à 5 PR pour être résolu, mais pour l'objet de ce blog, je me limiterai au premier PR que j'ai fait.

Première demande de tirage

Pour la première pull request, comme le montrent les discussions sur le problème, ma tâche consistait d'abord à configurer et à exécuter la conception de la base de données. Ce faisant, j'ai rencontré beaucoup de problèmes

Problèmes rencontrés

  • Pendant l'installation, la documentation pour obtenir le GOOGLE_SERVICE_KEY n'était pas simple, j'ai donc dû la revérifier avec le responsable et modifier de nombreux paramètres dans mon compte Google personnel pour le rendre opérationnel, les responsables étaient utile pendant tout le processus
  • Il y avait quelques incohérences dans le backend qui ont fait que le frontend ne fonctionnait pas correctement, mais l'une des bonnes choses de ce projet est que puisque le backend change dynamiquement, ils ont un backend simulé de sorte que pendant que le backend est en cours de développement, le front ne souffre pas.

Solution principale

La solution que j'avais proposée pour ce PR tournait autour de la discussion sur le choix de la bonne base de données, après une discussion approfondie avec le responsable, nous avons décidé qu'il était préférable d'utiliser MongoDB pour le projet, en pensant à l'évolutivité et à la flexibilité de les champs en raison de la nature sans schéma de MongoDB.

Après avoir réalisé la conception initiale, j'ai ouvert un PR, qui était lié à la configuration initiale de la conception pour le frontend

L'un des problèmes rencontrés lors du processus de fusion était qu'il ne réussissait pas un test dans le pipeline CI, ce qui n'était pas lié à une erreur dans mon code, mais au fait que certains secrets du référentiel n'étaient pas propagés. au fork du référentiel sur lequel je travaillais, le responsable a donc dû me donner un accès en écriture au référentiel pour fusionner mon PR

Autres contributions

Ce PR servirait désormais de base à d'autres PR qui finiraient par résoudre l'ensemble du problème. Pour être honnête, c'est l'un des meilleurs projets sur lesquels j'ai travaillé depuis un moment, il me faut environ 6 à 7 PR pour résoudre un seul problème, cela montre à quel point le projet est complexe et développé.

J'apprécie vraiment la façon dont mon parcours Open Source se déroule.

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!

source:dev.to
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal