La génération augmentée par récupération (RAG) connecte les grands modèles de langage (LLM) à des bases de connaissances privées, améliorant ainsi la précision des réponses grâce à des données spécifiques au domaine. Ce guide vous accompagne dans le développement et le déploiement d'une application RAG dans LangStudio.
Contexte
Les modèles RAG combinent la recherche d'informations avec l'IA générative pour fournir des réponses plus précises et pertinentes sur le plan contextuel. Dans des domaines tels que la finance et la santé, où l'exactitude des informations est cruciale pour la prise de décision, les modèles génératifs traditionnels peuvent manquer de connaissances spécifiques au domaine. La technologie RAG comble cette lacune en connectant les modèles à des bases de connaissances externes. Ce guide présente une solution RAG pour la finance et la santé, construite sur Platform for AI (PAI).
Prérequis
-
LangStudio prend en charge Faiss et Milvus en tant que bases de données vectorielles. Si vous souhaitez utiliser Milvus, créez d'abord une instance Milvus .
RemarqueFaiss convient aux environnements de test et ne nécessite aucune configuration de base de données supplémentaire. Pour la production, utilisez Milvus, qui prend en charge des volumes de données plus importants.
-
Le corpus de votre base de connaissances RAG doit être téléchargé sur OSS. Les exemples de corpus suivants sont fournis pour les cas d'utilisation en finance et en santé :
Actualités financières : Données au format PDF, contenant des reportages issus de sites d'information publics.
Présentations des maladies : Données au format CSV, contenant des informations sur les maladies issues de Wikipédia.
1. (Facultatif) Déployer les modèles LLM et d'embedding
Un flux d'application RAG nécessite à la fois un service LLM et un service de modèle d'embedding. Déployez les services requis depuis la Model Gallery comme décrit ci-dessous, ou ignorez cette étape si vous disposez déjà de services de modèles compatibles avec l'API OpenAI.
Accédez à QuickStart > Model Gallery et déployez des modèles pour les deux scénarios suivants. Pour plus de détails, consultez la rubrique Déploiement et entraînement des modèles.
Sélectionnez un grand modèle de langage ajusté aux instructions. Les modèles de base ne peuvent pas suivre de manière fiable les instructions des utilisateurs.
Pour le Scénario, sélectionnez Large Language Models et déployez DeepSeek-R1-Distill-Qwen-7B.
Pour le Scénario, sélectionnez embedding et déployez le bge-m3 general vector model.
2. Créer des connexions
Les connexions aux modèles LLM et d'embedding décrites dans cette section utilisent des services EAS déployés depuis QuickStart > Model Gallery. Pour les autres types de connexion, consultez la rubrique Configurer des connexions.
2,1 Créer une connexion au service LLM
Dans LangStudio, sélectionnez un espace de travail, accédez à l'onglet Configure Service Connection > Model Service, puis cliquez sur New Connection pour créer une connexion générique à un service de modèle LLM.
Paramètres clés :
Paramètre | Description |
Nom du modèle | Si vous avez déployé le modèle depuis la Model Gallery, trouvez le nom du modèle sur sa page de détails en cliquant sur la carte du modèle dans la page Model Gallery. Pour plus de détails, consultez la rubrique Créer une connexion - Service de modèle. |
Fournisseur de service |
|
2.2 Créer une connexion au service de modèle d'embedding
Créez une connexion générique à un service de modèle d'embedding en suivant la même procédure qu'à l'étape 2,1.
Sur la page New Connection , définissez le type de connexion sur General Embedding Model Service et sélectionnez l'onglet PAI-EAS Model Service comme fournisseur de service. Configurez ensuite les paramètres suivants :
EAS Service : sélectionnez l'instance de service de modèle d'embedding EAS déployée.
Nom du modèle : saisissez
default.base_url: le point de terminaison du service EAS.api_key: la clé API du service EAS.
2.3 Créer une connexion à la base de données vectorielle
Dans l'onglet Configure Service Connection > Database , cliquez sur New Connection pour créer une connexion à une base de données Milvus.
Paramètres clés :
|
Paramètre |
Description |
|
uri |
Le point de terminaison de l'instance Milvus au format Vous pouvez obtenir le point de terminaison interne depuis la page de détails de votre instance Milvus dans la console Alibaba Cloud. |
|
token |
Le nom d'utilisateur et le mot de passe de l'instance Milvus : |
|
database |
Le nom de la base de données. Cette rubrique utilise la base de données par défaut |
3. Créer un index de base de connaissances
Créez un index de base de connaissances. LangStudio analyse le corpus, le découpe en fragments, le vectorise et stocke les résultats dans la base de données vectorielle. Le tableau suivant décrit les paramètres clés. Pour les autres configurations, consultez la rubrique Gérer les bases de connaissances.
Paramètre | Description |
Configurations de base | |
Chemin de la source de données OSS | Définissez ce paramètre sur le chemin OSS du corpus de la base de connaissances RAG décrit dans la section Prérequis. |
Chemin de sortie OSS | Spécifiez un chemin pour stocker les résultats intermédiaires et les métadonnées d'index issues de l'analyse des documents. Important Si vous utilisez Faiss comme base de données vectorielle, le flux d'application enregistre les fichiers d'index générés sur OSS. Par défaut, si vous utilisez le rôle PAI par défaut (le Instance RAM Role défini lorsque vous démarrez l'environnement d'exécution), le flux d'application a accès au bucket de stockage par défaut de votre espace de travail. Par conséquent, nous vous recommandons de définir ce paramètre sur un répertoire du bucket OSS qui contient le chemin de stockage par défaut de l'espace de travail actuel. Si vous utilisez un rôle personnalisé, accordez-lui des autorisations d'accès à OSS. Nous vous recommandons l'autorisation AliyunOSSFullAccess. Pour plus d'informations, consultez la rubrique Gérer les autorisations d'un rôle RAM. |
Modèle d'embedding et base de données | |
Type d'embedding | Sélectionnez General Embedding Model. |
Connexion d'embedding | Sélectionnez la connexion au service de modèle d'embedding que vous avez créée à l'étape 2.2. |
Type de base de données vectorielle | Sélectionnez Vector database Milvus. |
Connexion à la base de données vectorielle | Sélectionnez la connexion à la base de données Milvus que vous avez créée à l'étape 2.3. |
Nom de la table | Définissez ce paramètre sur le nom de la collection que vous avez créée dans votre base de données Milvus, comme décrit dans la section Prérequis. |
Configuration VPC | |
Configuration VPC | Sélectionnez un VPC identique à celui de l'instance Milvus, ou pouvant communiquer avec celui-ci. |
4. Créer et exécuter un flux d'application RAG
Accédez à LangStudio, sélectionnez un espace de travail, puis dans l'onglet Application Flow , cliquez sur New Application Flow pour créer un flux d'application RAG.
-
Démarrez l'environnement d'exécution. Dans le coin supérieur droit, cliquez sur Create Runtime et configurez les paramètres. Remarque : L'environnement d'exécution doit être en cours d'exécution avant que vous puissiez analyser les nœuds Python ou accéder à davantage d'outils.
Paramètre clé :
Configuration VPC : Sélectionnez le VPC utilisé pour créer l'instance Milvus dans la section Prérequis , ou assurez-vous que le VPC sélectionné peut communiquer avec le VPC de l'instance Milvus.
-
Développez le flux d'application.

Conservez les paramètres par défaut pour les autres nœuds ou ajustez-les selon vos besoins. Configurez les nœuds clés comme suit :
-
Récupération des connaissances : Récupère le texte pertinent de la base de connaissances en fonction de la question de l'utilisateur.
Nom de l'index de la base de connaissances : Sélectionnez l'index de la base de connaissances que vous avez créé à l'étape 3 .
Top K : Renvoie les K premiers résultats correspondants.
-
Nœud LLM : Utilise les documents récupérés comme contexte, les envoie au grand modèle de langage avec la question de l'utilisateur et génère une réponse.
Configuration du modèle : Sélectionnez la connexion que vous avez créée à l'étape 2,1 .
Historique des conversations : Indique s'il faut activer l'historique des conversations et utiliser les conversations passées comme variables d'entrée.
Pour plus de détails sur chaque composant, consultez la rubrique Bibliothèque de composants prédéfinis .
-
Déboguez ou exécutez le flux. Dans le coin supérieur droit, cliquez sur Run pour exécuter le flux. Pour plus d'informations sur les problèmes courants liés à l'environnement d'exécution, consultez la rubrique FAQ .
Consultez les traces. Sous la réponse générée, cliquez sur View Traces pour afficher les détails des traces ou la topologie.
5. Déployer le flux d'application
Sur la page de développement du flux d'application, cliquez sur Deploy dans le coin supérieur droit pour déployer le flux d'application en tant que service EAS. Conservez les autres paramètres de déploiement par défaut ou ajustez-les selon vos besoins. Configurez les paramètres clés suivants :
Déploiement des ressources > Instances : Configurez le nombre d'instances de service. Ce déploiement étant destiné à des fins de test, définissez le nombre d'instances sur 1. Pour la production, nous vous recommandons d'utiliser plusieurs instances de service afin d'atténuer le risque de point de défaillance unique (SPOF).
VPC > VPC : Sélectionnez le VPC où réside l'instance Milvus, ou assurez-vous que le VPC sélectionné peut communiquer avec le VPC où réside l'instance Milvus.
Pour plus de détails sur le déploiement, consultez la rubrique Déployer un flux d'application .
6. Appeler le service
Après le déploiement, vous êtes redirigé vers la console PAI-EAS. Dans l'onglet Debug , configurez et envoyez une requête. La clé dans le corps de la requête doit correspondre au paramètre « Dialogue input » du nœud « Start » du flux d'application. Ce guide utilise le champ par défaut question.
Dans la zone de configuration de la requête, sélectionnez la méthode POST et saisissez le corps de la requête au format JSON brut, par exemple :
{"question": "What is the share price of NVIDIA"}
Cliquez sur Send Request. La zone Response à droite renvoie le code d'état 200 ainsi qu'une réponse JSON contenant les informations sur le cours de l'action récupérées via l'index de la base de connaissances.
Pour d'autres méthodes d'appel du service, telles que l'utilisation d'une API, consultez la rubrique Appeler le service .