Note :

Créer un agent conversationnel basé sur RAG à l'aide d'Oracle Cloud Infrastructure Search avec OpenSearch

Présentation

Dans ce tutoriel, nous vous guiderons tout au long du processus de création d'un agent conversationnel basé sur une génération augmentée par extraction (RAG) à l'aide d'OCI OpenSearch en tant que base de données vectorielle et de modèles de service d'IA générative OCI (comme Cohere et Llama). À la fin de ce tutoriel, vous aurez créé une solution d'agent conversationnel capable de traiter des documents, de les stocker en tant qu'intégrations vectorielles dans OpenSearch et de récupérer des informations pertinentes lors des conversations.

En outre, nous créerons une interface utilisateur intuitive à l'aide de Streamlit, vous permettant de télécharger des documents, d'interagir avec l'agent conversationnel et d'accéder facilement à des informations pertinentes. Ce tutoriel couvre tout, de la configuration de votre environnement au test de l'agent conversationnel avec vos propres fichiers PDF.

Objectifs

Préalables

Tâche 1 : Configurer une grappe OpenSearch avec OCI avec OpenSearch

  1. Créez une grappe. Pour plus d'informations, voir Créer une grappe OpenSearch avec la recherche OCI à l'aide de OpenSearch

  2. Une fois la grappe créée, copiez le point d'extrémité d'API, ainsi que les données d'identification de l'utilisateur pour les configurer dans l'application.

    OpenSearch API de grappe EndPoint

    OpenSearch Utilisateur de grappe et PDV

Tâche 2 : Configurer l'environnement Python

  1. Lancez une instance avec l'image Oracle Linux et la forme de base dans OCI. Pour plus d'informations, voir Lancement d'une instance Linux.

  2. Installez Python 3.11 sur Oracle Linux. Pour plus d'informations, voir Installation de Python.

  3. Exécutez la commande suivante pour mettre à jour la version de Python.

    sudo update-alternatives  --set python /usr/bin/python3.11
    
  4. Créez un dossier de projet nommé opensearch_rag_chatbot.

  5. Accédez au dossier créé et installez les dépendances en créant un fichier nommé requirements.txt.

    python -m venv venv
    source ./venv/bin/activate
    pip install -r requirements.txt
    
  6. Exécutez la commande suivante pour tester l'installation de Streamlit.

    streamlit hello
    
  7. Si les ports Streamlit et OpenSearch (8501/9200) ne sont pas ouverts dans le pare-feu, ajoutez-les à l'aide de la commande suivante.

    sudo firewall-cmd --list-all
    sudo firewall-cmd --permanent --add-port=8501/tcp
    sudo firewall-cmd --permanent --add-port=9200/tcp
    sudo firewall-cmd --reload
    

Tâche 3 : Configurer l'authentification OCI

  1. Créez un dossier .oci dans le répertoire de base et configurez le fichier config.

    [DEFAULT]
    user=ocid1.user.oc1..
    fingerprint=40:02:56:
    key_file=/path/to/oci_api_key.pem
    tenancy=ocid1.tenancy.oc1..
    region=us-region-1
    

    Note : Pour plus d'informations, voir Créer un fichier de configuration pour Oracle Date a Science.

Tâche 4 : Écrire le code du moteur de l'agent conversationnel

Tâche 5 : Charger des documents et tester l'agent conversationnel

  1. Exécutez la commande suivante pour exécuter l'application.

    cd opensearch_rag_chatbot
    python -m venv venv
    source ./venv/bin/activate
    streamlit run app.py
    
  2. Copiez l'URL générée pour accéder à l'application Streamlit. Commencez à charger des PDF et testez les fonctionnalités de l'agent conversationnel.

    télécharger et tester

Dépannage et conseils

Note : Les journaux sont disponibles dans la sortie de la console Streamlit, qui fournit des informations détaillées sur les opérations et les erreurs.

Étapes suivantes

Pour les étapes suivantes, envisagez d'agrandir votre agent conversationnel en ajoutant la prise en charge de plus de formats de document, tels que des fichiers Word ou HTML, et en expérimentant différents modèles d'intégration pour améliorer l'exactitude des réponses de l'agent conversationnel dans des domaines spécifiques. Vous pouvez également améliorer l'interface utilisateur Streamlit avec des fonctionnalités supplémentaires, telles que la prise en charge de plusieurs téléchargements de documents, l'historique des requêtes ou la rétroaction en temps réel sur de longs processus.

Remerciements

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.