Alibaba Cloud OpenSearch LLM-based Conversational Search propose des fonctionnalités natives d'analyse des données, de découpage, de vectorisation, de recherche textuelle et vectorielle, ainsi que des capacités LLM multimodales. Ce tutoriel explique comment l'intégrer à Dify, une plateforme d'application LLM open source, afin de construire un système de génération augmentée par la récupération (RAG).
À mesure que la technologie du contenu généré par l'intelligence artificielle (AIGC) évolue, les grands modèles de langage (LLM), les frameworks d'agents et l'orchestration de workflows permettent de déployer divers services applicatifs. La génération augmentée par la récupération (RAG) est devenue un composant central pour les bases de connaissances d'entreprise, le service client intelligent et les assistants e-commerce. Des plateformes de développement telles que Alibaba Cloud Model Studio (Bailian) et Dify aident les développeurs à créer rapidement des applications métier intégrant nativement le RAG.
Toutefois, la précision du RAG dépend fortement des performances de recherche, et les plateformes de développement d'applications sont souvent confrontées aux défis suivants :
Expérience utilisateur limitée : Les plateformes restreignent souvent le format, la quantité et la taille des documents de la base de connaissances, obligeant les développeurs à prétraiter complexement les données ou ne répondant pas aux exigences réelles.
Contrôle limité : La plupart des plateformes fonctionnent comme des boîtes noires, ce qui rend difficile la personnalisation, l'optimisation ou l'extension du pipeline principal, entraînant souvent des performances médiocres de bout en bout.
Fonctionnalités entreprise insuffisantes : De nombreuses plateformes manquent d'isolation des autorisations de niveau entreprise et de capacités d'importation ou de mise à jour rapide des données, ce qui complique leur adoption en production.
Pour relever ces défis, utilisez Alibaba Cloud OpenSearch LLM-based Conversational Search comme système RAG et intégrez-le à votre workflow pour créer des applications de niveau entreprise. OpenSearch prend en charge l'intégration avec les modèles de Model Studio, élargissant ainsi votre choix de LLM pour des performances RAG personnalisées. Pour plus d'informations, consultez la rubrique Gestion des LLM.
OpenSearch prend en charge divers mécanismes d'invocation et d'authentification pour une intégration flexible avec des plateformes telles que Model Studio et Dify. La section suivante utilise Dify comme exemple pour illustrer les bonnes pratiques d'intégration avec une plateforme d'application open source.
Architecture
Importez la base de connaissances dans OpenSearch. Un workflow traite la requête de l'utilisateur et l'envoie au système RAG d'OpenSearch, qui renvoie une réponse conversationnelle accompagnée de liens de référence et d'images. Traitez ensuite ces résultats dans un workflow selon les besoins métier avant de fournir la réponse finale à l'utilisateur final.

Création d'un système RAG dans OpenSearch
Étape 1 : Créer le système RAG
Alibaba Cloud OpenSearch LLM-based Conversational Search est une solution RAG tout-en-un qui permet de mettre en place un système RAG en quelques minutes. Sélectionnez des modèles, personnalisez les prompts et optimisez les performances directement depuis la console. Dans les détails de l'instance, accédez à Configuration Center->Data Configuration pour configurer votre base de connaissances d'entreprise.
Sur la page Data Configuration, cliquez sur File Import ou Web Link Import pour importer les données de votre base de connaissances d'entreprise. La fonctionnalité d'importation de fichiers prend en charge les fichiers de données non structurés aux formats doc, docx, pdf, html, txt, ppt et pptx, ainsi que les données structurées aux formats JSON ou Excel (encodage UTF-8, taille maximale du fichier de 128 Mo). Après avoir sélectionné un fichier, cliquez sur Upload File pour terminer l'importation.
Pour plus d'informations, consultez la rubrique Création d'un système de questions-réponses basé sur une base de connaissances d'entreprise via la console.
Étape 2 : Créer et obtenir une clé API
Créez et obtenez le nom de domaine public de l'API ainsi que la clé API, puis conservez-les en toute sécurité pour les utiliser dans le flux de requêtes HTTP.
Création d'une application métier dans Dify
Étape 1 : Créer un workflow
Sur la page Studio de Dify, cliquez sur Create Blank App. Dans la boîte de dialogue Create Blank App, sélectionnez Chat Assistant comme type d'application et Workflow Orchestration comme méthode d'orchestration. Nommez et décrivez votre application, puis cliquez sur Create.
Start : Récupère l'entrée de l'utilisateur.
Alibaba Cloud OpenSearch LLM-based Conversational Search (requête HTTP) : Envoie l'entrée de l'utilisateur à OpenSearch et renvoie la sortie du système RAG.
Parse Output (exécution de code) : Analyse la sortie du système RAG.
Return Answer : Renvoie le résultat final à l'utilisateur.
Étape 2 : Configurer les nœuds
Accès au système RAG via HTTP
Définissez la méthode sur POST. Un exemple de contenu JSON pour le BODY est {"question":{"text":"@ Start {x} sys.query "}}, où la question de l'utilisateur est transmise via la variable de workflow sys.query. Pour l'authentification par clé API :
Type d'authentification : API key
Type d'authentification API : Bearer
Clé API : La clé API obtenue auprès d'Alibaba Cloud OpenSearch LLM-based Conversational Search.
URL : Le nom de domaine public de l'API obtenu auprès d'Alibaba Cloud OpenSearch LLM-based Conversational Search + le chemin de l'API OpenSearch (exemple : v3/openapi/apps/[app_name]/actions/knowledge-search)
BODY : Sélectionnez JSON. Pour le contenu complet de la requête et les paramètres, consultez la rubrique Questions-réponses textuelles.
Analyse de la sortie
La réponse de l'API OpenSearch est au format JSON et inclut la réponse conversationnelle, les liens de référence et les images de référence. Utilisez l'exécution de code pour analyser la réponse et extraire les informations requises.
Exemple de code pour extraire uniquement la réponse :
def main(body: str) -> str:
import json
dat = json.loads(body)
return {
'result': [ans['answer'] for ans in dat['result']['data']][0]
}
Aperçu

Enrichissez cette base avec des workflows supplémentaires pour créer des applications métier plus complètes. Par exemple, l'assistant conversationnel intelligent suivant est construit sur OpenSearch et le modèle Qwen.
Le système classe d'abord l'intention de l'utilisateur en problèmes après-vente, questions sur l'utilisation des produits et conversations informelles. Pour les problèmes après-vente et les questions sur l'utilisation des produits, il interroge la base de connaissances correspondante dans OpenSearch et utilise le système RAG pour générer des réponses. Pour les conversations informelles, il appelle le modèle Qwen pour discuter avec l'utilisateur et répondre aux questions générales.

Au-delà de la solution RAG tout-en-un, vous pouvez utiliser Alibaba Cloud AI Search Development Workbench, qui fournit des capacités atomiques telles que l'analyse de documents, la vectorisation, la recherche et le reclassement. Utilisez ces capacités pour créer des outils Dify personnalisés et affiner chaque étape de votre système RAG.
Dans la barre de navigation supérieure de la plateforme Dify, sélectionnez Tools > Custom. Vous voyez deux outils personnalisés créés : OpenSearch Text Embedding (embedding de texte) et OpenSearch Reranker Model (modèle de reclassement).
Si vous avez des questions sur les systèmes RAG, rejoignez le groupe de support DingTalk d'Alibaba Cloud OpenSearch LLM-based Conversational Search pour en savoir plus sur les détails techniques et obtenir des conseils d'utilisation.