Nota

Crea un chatbot basato su RAG utilizzando Oracle Cloud Infrastructure Search con OpenSearch

Introduzione

In questo tutorial, ti guideremo attraverso il processo di creazione di un chatbot basato su RAG (recupero-augmented generation) che utilizza OCI OpenSearch come database vettoriale e modelli di servizi OCI Generative AI (come Cohere e Llama). Alla fine di questo tutorial, avrai creato una soluzione di chatbot in grado di elaborare i documenti, memorizzarli come incorporamenti vettoriali in OpenSearch e recuperare informazioni pertinenti durante le conversazioni.

Inoltre, creeremo un'interfaccia utente intuitiva utilizzando Streamlit, consentendoti di caricare documenti, interagire con il chatbot e accedere facilmente alle informazioni pertinenti. Questo tutorial copre tutto, dall'impostazione dell'ambiente al test del chatbot con i tuoi file PDF.

Obiettivi

Prerequisiti

Task 1: impostare un cluster OpenSearch con OCI con OpenSearch

  1. Crea un cluster. Per ulteriori informazioni, vedere Creare un cluster OpenSearch con OCI Search con OpenSearch

  2. Una volta creato il cluster, copiare l'endpoint API e le credenziali utente per configurarle nell'applicazione.

    OpenSearch API cluster EndPoint

    OpenSearch Utente cluster e password

Task 2: configurare l'ambiente Python

  1. Avvia un'istanza con l'immagine Oracle Linux e la forma di base in OCI. Per ulteriori informazioni, vedere Avvio di un'istanza Linux.

  2. Installare Python 3.11 su Oracle Linux. Per ulteriori informazioni, vedere Installazione di Python.

  3. Eseguire il comando seguente per aggiornare la versione di Python.

    sudo update-alternatives  --set python /usr/bin/python3.11
    
  4. Creare una cartella di progetto denominata opensearch_rag_chatbot.

  5. Andare alla cartella creata e installare le dipendenze creando un file denominato requirements.txt al suo interno.

    python -m venv venv
    source ./venv/bin/activate
    pip install -r requirements.txt
    
  6. Eseguire il comando seguente per eseguire il test dell'installazione Streamlit.

    streamlit hello
    
  7. Se le porte Streamlit e OpenSearch (8501/9200) non sono aperte nel firewall, aggiungerle utilizzando il seguente comando.

    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
    

Task 3: Impostazione dell'autenticazione OCI

  1. Creare una cartella .oci nella directory home e impostare il file 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
    

    Nota: per ulteriori informazioni, vedere Creare un file di configurazione per Oracle Date a Science.

Task 4: scrivere il codice del motore chatbot

Task 5: Carica documenti e testa il chatbot

  1. Eseguire il comando riportato di seguito per eseguire l'applicazione.

    cd opensearch_rag_chatbot
    python -m venv venv
    source ./venv/bin/activate
    streamlit run app.py
    
  2. Copiare l'URL generato per accedere all'applicazione Streamlit. Inizia a caricare i PDF e prova le funzionalità del chatbot.

    caricamento e test

Risoluzione dei problemi e suggerimenti

Nota: i log sono disponibili nell'output della console Streamlit che fornisce informazioni dettagliate sulle operazioni e sugli errori.

Passi successivi

Per i passaggi successivi, valuta l'opportunità di espandere il tuo chatbot aggiungendo il supporto per più formati di documenti, come file Word o HTML, e sperimentando diversi modelli di incorporamento per migliorare l'accuratezza delle risposte del chatbot in domini specifici. È inoltre possibile migliorare l'interfaccia utente Streamlit con funzionalità aggiuntive, come il supporto per più caricamenti di documenti, la cronologia delle query o il feedback in tempo reale su processi lunghi.

Riconoscimenti

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.

Per la documentazione del prodotto, visita l'Oracle Help Center.