Contact salesFree trial
Blog

5 raisons pour lesquelles je crée notre application RAG sur Upsun

AIDjangoPostgreSQLPaaSAPI
Partager

Les développeurs s'empressent d'exploiter la puissance des grands modèles de langage (LLM) et d'appliquer un traitement avancé du langage naturel à une myriade d'applications. Une technique qui a gagné en popularité est la génération améliorée par récupération (RAG), qui consiste à utiliser des méthodes de recherche spécifiques aux LLM pour récupérer des informations pertinentes à partir de données et les introduire dans un LLM en même temps que des invites. En tant qu'entrepreneur en résidence chez Open Strategy Partners, je développe de tels outils pour amplifier la valeur que nos clients technologiques B2B tirent de nos collaborations marketing stratégiques.

J'ai choisi Upsun pour développer nos applications pour cinq raisons principales qui, je pense, sont pertinentes pour tous ceux qui travaillent avec RAG. Voici un aperçu détaillé de chacune d'entre elles, par ordre d'importance :

1. Bases de données vectorielles gérées dès le départ

RAG s'appuie sur des techniques de recherche qui impliquent des LLM dans la préparation de l'index de recherche. Cela nécessite une base de données spécialisée capable d'effectuer des requêtes sémantiques plutôt que des requêtes SQL traditionnelles. Par exemple, je peux interroger une base de données vectorielle avec "A rose by any other name would smell as sweet" et recevoir des résultats sémantiquement similaires, même s'ils ne contiennent pas les mots exacts.

Upsun propose plusieurs options de bases de données gérées qui répondent à ce besoin :

Ces options fournissent des backends robustes pour les applications RAG modernes, éliminant le besoin d'acquérir des services tiers supplémentaires. Le fait de conserver les données et le moteur de recherche sur le même réseau que l'application permet non seulement de rationaliser les opérations, mais aussi d'améliorer les performances.

2. Clonage efficace pour les tests (par exemple, découpage en morceaux)

RAG pré-traite les textes en les découpant en morceaux de taille similaire qui s'inscrivent dans les limites du moteur d'intégration du LLM. La méthode de découpage a un impact significatif sur les performances d'une application RAG, ce qui rend le choix d'un algorithme de découpage crucial.

Upsun simplifie ce processus en permettant la création d'un environnementprincipal contenant tous les textes non découpés de la base de données. À partir de là, je peux créer plusieurs branches pour tester différents algorithmes de découpage. Comme Upsun clone les données de l'environnement principal lors de la création d'une nouvelle branche, je me retrouve avec des copies identiques de mon application et de mes données, chacune fonctionnant indépendamment avec ses propres URL testables. Cette configuration permet de comparer directement les différentes stratégies de découpage. Une fois que le chunker optimal est identifié, il peut être fusionné dans l'environnement principal et les branches inutiles peuvent être supprimées. Aucun autre système n'offre un flux de travail aussi efficace pour ce processus.

3. Partage rentable des embeddings entre les environnements

Après le découpage des textes, l'étape suivante consiste à créer des embeddings en envoyant ces morceaux à un LLM, qui les convertit en tableaux de vecteurs représentant la compréhension sémantique du texte. Chaque morceau traité entraîne un appel d'API au LLM, ce qui se traduit par du temps, des ressources informatiques et des coûts. Ces embeddings sont des actifs précieux, et les dupliquer serait un gaspillage.

Avec Upsun, les embeddings peuvent être générés dans un environnement parent et facilement partagés avec tous les développeurs en synchronisant cet environnement parent avec leurs environnements de développement individuels. Cette approche garantit que les embeddings ne sont jamais dupliqués, ce qui permet de réduire les coûts et de maintenir la cohérence au sein de l'équipe. En outre, elle élimine le besoin de configurations DevOps complexes, car la synchronisation est réalisée avec une seule commande sur Upsun.

4. Gestion sécurisée des clés et secrets API

L'interaction avec les LLM nécessite une manipulation prudente des clés API et d'autres secrets sensibles. Une mauvaise gestion peut conduire à des fuites de clés API dans des référentiels publics comme GitHub, à l'invalidation accidentelle des clés de production ou à une utilisation non autorisée entraînant des coûts imprévisibles.

Upsun relève ces défis grâce à un système robuste de stockage et de gestion des clés secrètes. Il permet

  • Des clés spécifiques à l'environnement : Différentes clés peuvent être réservées exclusivement à la production, aux tests ou à des projets spécifiques.
  • Contrôle d'accès : Les clés peuvent être limitées à certains environnements ou projets, ce qui renforce la sécurité.
  • Contrôle des dépenses : En contrôlant l'utilisation des clés API, il est plus facile de surveiller et de gérer les coûts associés.

Par exemple, j'ai récemment utilisé Upsun pour fournir des clés OpenAI à un stagiaire, en veillant à ce qu'il ne puisse effectuer que des types d'opérations spécifiques tout en gardant un œil sur les dépenses liées aux appels API.

5. Outils de développement modernes et constructions sécurisées

Upsun ne se limite pas aux bases de données et à la gestion de l'environnement ; il excelle également dans la prise en charge des pratiques de développement d'applications modernes. Dans notre configuration, nous utilisons

  • Django (Python) : Pour construire des applications web robustes.
  • FastAPI : Comme cadre REST pour le développement efficace d'API.
  • Celery : Pour les travailleurs d'arrière-plan qui gèrent les tâches de longue durée, en veillant à ce que l'application principale de Django reste réactive.

Principaux avantages d'Upsun :

  • Routage puissant des requêtes: Facilite la conception d'API REST personnalisées adaptées à nos besoins.
  • Constructions déterministes et immuables : Upsun construit la base de code de manière déterministe à partir du fichier requirements.txt et emballe le code dans des images immuables. Cela garantit que notre application reste à l'abri des modifications non autorisées et qu'elle est protégée contre une série de cybermenaces potentielles qui exploitent les systèmes de fichiers inscriptibles.

Pour plus d'informations, j'ai écrit une série d'articles sur le développement de projets Django sur Upsun.

Conclusion

Le choix de la bonne plateforme est crucial pour le succès des applications RAG. Upsun se distingue en offrant des services gérés complets, des flux de tests efficaces, une gestion rentable de l'intégration, une gestion sécurisée des secrets et un support pour les pratiques de développement modernes. L'ensemble de ces caractéristiques fait d'Upsun un choix idéal pour construire des applications RAG évolutives, sécurisées et performantes. Si vous vous aventurez dans le monde de la Génération Assistée par Récupération, Upsun est certainement une plateforme qui mérite d'être considérée.

À propos de l'auteur

Robert Douglass, ancien membre de l'équipe Platform.sh, aide les équipes produits à donner vie à leurs plus grandes innovations. Il développe actuellement des applications qui amplifient la valeur des actifs marketing stratégiques pour les entreprises technologiques B2B en tant qu'entrepreneur en résidence chez Open Strategy Partners GmbH.

Votre meilleur travail
est à l'horizon

Essai gratuit
Discord
© 2025 Platform.sh. All rights reserved.