附註:

使用 Oracle Cloud Infrastructure Search 搭配 OpenSearch 建立以 RAG 為基礎的聊天機器人

簡介

在本教學課程中,我們將指導您使用 OCI OpenSearch 作為向量資料庫和 OCI Generative AI 服務模型 (例如 Cohere 和 Llama),建立檢索增強生成 (RAG) 型聊天機器人。在本教程結束後,您將建立一個聊天機器人解決方案,能夠處理文件,將其儲存為向量嵌入 OpenSearch,並在對話期間擷取相關資訊。

此外,我們將使用 Streamlit 建立直觀的使用者介面,讓您上傳文件、與聊天機器人互動,並輕鬆存取相關資訊。本教學課程涵蓋從設定環境到使用自己的 PDF 檔案測試聊天機器人的所有內容。

目標

必要條件

工作 1:使用 OpenSearch 設定 OpenSearch 叢集

  1. 建立叢集。如需詳細資訊,請參閱使用 OpenSearch 搭配 OCI Search 建立 OpenSearch 叢集

  2. 建立叢集之後,請複製 API 端點以及使用者證明資料,以便在應用程式中加以設定。

    OpenSearch 叢集 API EndPoint

    OpenSearch 叢集使用者和密碼

工作 2:設定 Python 環境

  1. 啟動 OCI 中具有 Oracle Linux 映像檔和基本資源配置的執行處理。如需詳細資訊,請參閱啟動 Linux 執行處理

  2. 在 Oracle Linux 上安裝 Python 3。11。如需詳細資訊,請參閱安裝 Python

  3. 執行下列命令以更新 Python 版本。

    sudo update-alternatives  --set python /usr/bin/python3.11
    
  4. 建立名為 opensearch_rag_chatbot 的專案資料夾。

  5. 透過在資料夾中建立名為 requirements.txt 的檔案,前往建立的資料夾並安裝相依性。

    python -m venv venv
    source ./venv/bin/activate
    pip install -r requirements.txt
    
  6. 執行下列指令以測試 Streamlit 安裝。

    streamlit hello
    
  7. 如果未在防火牆中開啟 Streamlit 和 OpenSearch 連接埠 (8501/9200),請使用下列命令新增它們。

    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
    

作業 3:設定 OCI 認證

  1. 在您的本位目錄中建立 .oci 資料夾,然後設定 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
    

    注意:如需詳細資訊,請參閱建立 Oracle Date a Science 的組態檔

工作 4:撰寫聊天機器人引擎代碼

工作 5:上傳文件並測試聊天機器人

  1. 執行下列命令以執行應用程式。

    cd opensearch_rag_chatbot
    python -m venv venv
    source ./venv/bin/activate
    streamlit run app.py
    
  2. 複製產生的 URL 以存取 Streamlit 應用程式。開始上傳 PDF 並測試聊天機器人的功能。

    上傳與測試

疑難排解與秘訣

注意: Streamlit 主控台輸出中提供日誌,其中提供作業和錯誤的詳細資訊。

接下來的步驟

如需後續步驟,請考慮透過新增對 Word 或 HTML 檔案等文件格式的支援來擴展您的聊天機器人,並嘗試使用不同的內嵌模型來改善聊天機器人對特定網域的回應準確性。您也可以使用其他功能來增強 Streamlit UI,例如支援多個文件上傳、查詢歷史記錄,或長期處理的即時意見回饋。

致謝

其他學習資源

探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center