Hinweis:

RAG-basierten Chatbot mit Oracle Cloud Infrastructure Search mit OpenSearch erstellen

Einführung

In diesem Tutorial führen wir Sie durch den Prozess der Erstellung eines RAG-basierten Chatbots (Retrieval-Augmented Generation) mit OCI OpenSearch als Vektordatenbank und OCI Generative AI-Servicemodellen (wie Cohere und Llama). Am Ende dieses Tutorials haben Sie eine Chatbot-Lösung entwickelt, die in der Lage ist, Dokumente zu verarbeiten, sie als Vektor-Einbettungen in OpenSearch zu speichern und während der Gespräche relevante Informationen abzurufen.

Darüber hinaus erstellen wir mit Streamlit eine intuitive Benutzeroberfläche, mit der Sie Dokumente hochladen, mit dem Chatbot interagieren und mühelos auf relevante Informationen zugreifen können. Dieses Tutorial behandelt alles von der Einrichtung Ihrer Umgebung bis zum Testen des Chatbots mit Ihren eigenen PDF-Dateien.

Ziele

Voraussetzungen

Aufgabe 1: OpenSearch-Cluster mit OCI mit OpenSearch einrichten

  1. Cluster erstellen. Weitere Informationen finden Sie unter Cluster OpenSearch mit OCI Search mit OpenSearch erstellen

  2. Nachdem das Cluster erstellt wurde, kopieren Sie den API-Endpunkt zusammen mit den Benutzerzugangsdaten, um sie in der App zu konfigurieren.

    OpenSearch Cluster-API EndPoint

    OpenSearch Clusterbenutzer und Kennwort

Aufgabe 2: Python-Umgebung konfigurieren

  1. Starten Sie eine Instanz mit dem Oracle Linux-Image und der Basisausprägung in OCI. Weitere Informationen finden Sie unter Linux-Instanz starten.

  2. Installieren Sie Python 3.11 unter Oracle Linux. Weitere Informationen finden Sie unter Python installieren.

  3. Führen Sie den folgenden Befehl aus, um die Python-Version zu aktualisieren.

    sudo update-alternatives  --set python /usr/bin/python3.11
    
  4. Erstellen Sie einen Projektordner mit dem Namen opensearch_rag_chatbot.

  5. Wechseln Sie zu dem Ordner, der erstellt wurde, und installieren Sie Abhängigkeiten, indem Sie eine Datei mit dem Namen requirements.txt erstellen.

    python -m venv venv
    source ./venv/bin/activate
    pip install -r requirements.txt
    
  6. Führen Sie den folgenden Befehl aus, um die Streamlit-Installation zu testen.

    streamlit hello
    
  7. Wenn die Streamlit- und OpenSearch-Ports (8501/9200) in der Firewall nicht geöffnet sind, fügen Sie sie mit dem folgenden Befehl hinzu.

    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
    

Aufgabe 3: OCI-Authentifizierung einrichten

  1. Erstellen Sie einen .oci-Ordner in Ihrem Home-Verzeichnis, und richten Sie die Datei config ein.

    [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
    

    Hinweis: Weitere Informationen finden Sie unter Konfigurationsdatei für Oracle Date a Science erstellen.

Aufgabe 4: Chatbot-Engine-Code schreiben

Aufgabe 5: Dokumente hochladen und Chatbot testen

  1. Führen Sie den folgenden Befehl aus, um die Anwendung auszuführen.

    cd opensearch_rag_chatbot
    python -m venv venv
    source ./venv/bin/activate
    streamlit run app.py
    
  2. Kopieren Sie die generierte URL, um auf die Streamlit-App zuzugreifen. Starten Sie das Hochladen von PDFs und testen Sie die Funktionalität des Chatbots.

    hochladen und testen

Fehlerbehebung und Tipps

Hinweis: Logs sind in der Streamlit-Konsolenausgabe verfügbar, die detaillierte Informationen zu Vorgängen und Fehlern enthalten.

Nächste Schritte

In den nächsten Schritten sollten Sie Ihren Chatbot erweitern, indem Sie Unterstützung für weitere Dokumentformate wie Word- oder HTML-Dateien hinzufügen und mit verschiedenen Einbettungsmodellen experimentieren, um die Antwortgenauigkeit des Chatbots in bestimmten Domains zu verbessern. Sie können die Streamlit-Benutzeroberfläche auch um zusätzliche Funktionen erweitern, wie Unterstützung für mehrere Dokumentuploads, Abfragehistorie oder Echtzeitfeedback zu langen Prozessen.

Danksagungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.