全部產品
Search
文件中心

Tablestore:基於Dify和Tablestore快速搭建RAG應用

更新時間:Sep 12, 2025

企業私人知識問答系統常面臨回答準確性不足的挑戰。通過Dify整合阿里雲Table Store(Tablestore)向量資料庫構建RAG(檢索增強產生)應用,可實現高精度知識檢索和智能問答能力。

方案介紹

Tablestore作為高效能向量資料庫,提供毫秒級查詢響應,支援向量檢索與全文檢索索引混合的檢索模式,單表可儲存百億級向量資料。Dify負責應用編排和使用者互動介面,大幅簡化RAG應用的構建和部署流程。

RAG應用通過以下核心流程實現智能問答:

  1. 知識向量化:Dify將企業文檔自動切分為知識片段並轉換為向量表示,統一儲存到Tablestore向量資料庫中。

  2. 相似性檢索:當使用者提問時,系統在Tablestore中快速檢索與問題最相關的知識片段。

  3. 增強產生:將檢索到的相關知識與使用者問題組合,輸入大語言模型產生準確且有依據的回答。

準備部署環境

建立Tablestore執行個體

Tablestore將作為RAG應用的向量資料庫,用於儲存文檔的向量化表示並提供高效的相似性檢索能力。

  1. 登入Table Store控制台,在頁面上方選擇執行個體所在地區,如 華東1(杭州)

  2. 單擊建立執行個體,選擇CU模式(原按量模式),按照下方配置列表選擇執行個體參數,其餘配置項可保持預設設定。

    • 執行個體名稱:填寫執行個體名稱。

    • 執行個體規格:選擇高效能型

  3. 單擊確定,完成執行個體建立。

建立ECS執行個體

ECS執行個體將作為Dify應用的運行環境,需要具備足夠的計算資源來支援Docker容器叢集的運行。

  1. 登入ECS控制台,單擊建立執行個體

  2. 按照下方配置列表建立ECS執行個體,其餘配置項可保持預設設定。

    • 付費類型:選擇隨用隨付

    • 地區:選擇執行個體所在地區,由於網路原因,本文使用的是中國香港地區。

    • 網路及可用性區域:選擇預設的專用網路和可用性區域。

    • 執行個體:單擊全部規格,搜尋並選擇 ecs.e-c1m2.large

      說明

      如果執行個體規格已售罄,請選擇其它執行個體規格。

    • 鏡像:選擇公用鏡像Alibaba Cloud Linux(Alibaba Cloud Linux 3.2104 LTS 64位)。

    • 系統硬碟:設定ESSD Entry的容量為 40 GiB。

    • 公網IP:勾選分配公網 IPv4 地址

    • 頻寬計費模式:選擇按使用流量,以節約成本。

    • 頻寬峰值:選擇5 Mbps或以上。

    • 安全性群組:選擇已有安全性群組

    • 登入憑證:選擇自訂密碼,登入名稱選擇root登入密碼請自行設定並妥善儲存。

部署和訪問Dify

步驟一:安裝Docker環境

Dify採用容器化部署方式,需要先在ECS執行個體上安裝Docker和Docker Compose來支援多服務容器編排。

  1. 安裝dnf-plugins-core外掛程式。

    dnf -y install dnf-plugins-core
  2. 配置Docker官方倉庫源。

    dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. 安裝 Docker 引擎和 Docker Compose 外掛程式。

    dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  4. 啟動並設定Docker服務開機自啟。

    systemctl enable --now docker

步驟二:部署Dify服務

接下來將擷取Dify源碼並配置環境變數,特別是配置Tablestore作為向量資料庫的串連參數。

  1. 安裝Git版本控制工具。

    yum -y install git
  2. 複製Dify官方源碼倉庫。

    git clone https://github.com/langgenius/dify.git
  3. 進入Docker部署目錄。

    cd dify/docker
  4. 複製環境設定檔範本。

    cp .env.example .env
  5. 編輯環境設定檔。

    vi .env

    按照以下配置項進行修改:

    配置項

    說明

    VECTOR_STORE

    向量資料庫類型,設定為tablestore

    TABLESTORE_ENDPOINT

    重要

    新建立的Table Store執行個體預設關閉公網訪問,如需使用公網訪問地址,請前往Table Store控制台執行個體管理網路管理頁簽,在允許網路類型設定中勾選公網,並單擊設定儲存配置。

    前往Table Store控制台,在執行個體列表中單擊執行個體別名進入執行個體管理頁面,複製執行個體名稱和執行個體訪問地址。根據部署情況選擇訪問地址:

    • ECS與Tablestore在同一地區:可選擇公網地址或者VPC地址。

    • ECS與Tablestore不在同一地區:必須使用公網地址。

    TABLESTORE_INSTANCE_NAME

    TABLESTORE_ACCESS_KEY_ID

    前往AccessKey管理頁面建立雲帳號AccessKey,擷取並儲存ACCESS_KEY_ID和ACCESS_KEY_SECRET。

    TABLESTORE_ACCESS_KEY_SECRET

  6. 啟動Dify容器叢集。

    docker compose up -d

    啟動成功後,將看到如下輸出資訊。

     ✔ Network docker_default             Created                                                                                                                                                            0.1s
     ✔ Network docker_ssrf_proxy_network  Created                                                                                                                                                            0.1s
     ✔ Container docker-sandbox-1         Started                                                                                                                                                            0.8s
     ✔ Container docker-redis-1           Started                                                                                                                                                            1.0s
     ✔ Container docker-ssrf_proxy-1      Started                                                                                                                                                            1.3s
     ✔ Container docker-web-1             Started                                                                                                                                                            1.0s
     ✔ Container docker-db-1              Started                                                                                                                                                            0.9s
     ✔ Container docker-plugin_daemon-1   Started                                                                                                                                                            2.4s
     ✔ Container docker-api-1             Started                                                                                                                                                            2.4s
     ✔ Container docker-worker-1          Started                                                                                                                                                            2.3s
     ✔ Container docker-nginx-1           Started                                                                                                                                                            3.8s

步驟三:配置安全性群組訪問規則

為了能夠通過公網訪問Dify管理介面,需要在ECS安全性群組中開放相應的連接埠存取權限。

  1. 前往ECS控制台,在目標執行個體中單擊網路與安全性群組 > 添加入方向規則

  2. 配置安全性群組規則:選擇授權策略允許協議類型Web HTTP 流量訪問,在訪問目的(本執行個體)中輸入Dify服務連接埠(預設80連接埠)並添加,如下圖所示。

    image

  3. 單擊確定,完成安全性群組訪問規則配置。

步驟四:訪問Dify管理介面

通過瀏覽器訪問 http://server_ip,其中 server_ip 為ECS執行個體的公網IP地址。首次訪問將自動跳轉到初始化頁面,按照提示設定管理員賬戶,設定完成後系統將自動完成登入。

image

構建RAG應用並驗證效果

步驟一:配置模型服務和API-KEY

RAG應用需要大語言模型來理解問題和產生回答,同時需要Embedding模型將文本轉換為向量表示。

  1. 安裝模型供應商並配置API Key。

    1. 在Dify首頁單擊帳戶圖片,在下拉式功能表中單擊設定

    2. 在設定頁面單擊模型供應商,選擇通義千問,單擊安裝

    3. 安裝完成後,在待配置的模型列表中單擊設定

      image

    4. 根據頁面提示擷取阿里雲百鍊的API Key並完成配置,然後單擊儲存

      image

  2. 配置系統預設模型。

    1. 在模型供應商頁面單擊模型列表右側的系統模型設定

    2. 根據以下推薦配置設定各類模型,也可根據實際需求選擇其他模型。

      • 系統推理模型:選擇qwen3-max-preview

      • Embedding模型:選擇text-embedding-v4

      • Rerank模型:選擇gte-rerank-v2

      • 語音轉文本模型:選擇paraformer-realtime-v2

      • 文本轉語音模型:選擇tts-1

模型配置完成後,單擊ESC返回Dify首頁。

步驟二:建立知識庫

知識庫是RAG應用的核心組件,用於儲存企業文檔並提供智能檢索能力。文檔將自動切分、向量化並儲存到Tablestore中。

  1. 在Dify首頁單擊知識庫,然後單擊建立知識庫

    image

  2. 單擊建立一個空知識庫。在彈出的建立空知識庫對話方塊中,輸入知識庫名稱(例如Tablestore),然後單擊建立,完成知識庫建立。

    image

  3. 在知識庫詳情頁面單擊添加檔案,選擇樣本檔案百鍊系列手機產品介紹.docx進行上傳,單擊下一步進入文本分段與清洗設定。

    image

  4. 配置知識處理參數:選擇索引方式高品質檢索設定混合檢索。參數配置完成後單擊儲存並處理,可單擊前往文檔查看上傳文檔的處理狀態。

    image

    可以前往Table Store控制台查看已儲存到向量資料庫的知識資料。

    image

步驟三:建立智能問答助手並驗證RAG效果

最後建立一個聊天助手應用,通過對比加入知識庫前後的回答效果,驗證RAG應用的檢索增強能力。

  1. 在Dify首頁單擊工作室,然後單擊建立空白應用

    image

  2. 選擇新手適用模板,然後選擇聊天助手應用類型,輸入應用程式名稱後單擊建立

    image

  3. 直接向聊天助手提問測試,例如詢問百鍊有哪些手機型號,此時助手的回答可能不夠準確或詳細。

    image

  4. 在應用編排頁面單擊知識庫右側的添加,選擇之前建立的知識庫,然後根據頁面提示單擊重新開始重設調試地區。

    image

  5. 再次向聊天助手提出相同問題。結合知識庫中的文檔內容,助手現在能夠提供準確且詳細的回答。

    image

應用於生產環境

最佳實務

為確保Dify應用在生產環境中的高可用性,建議使用ACK進行部署。具體實施方案請參見解決方案快速部署 Dify,高效搭建 AI 應用並選擇生產環境部署(使用 ACK 部署)。

風險防範

  • 許可權管控:通過RAM使用者進行資源訪問管理,嚴格控制許可權範圍,僅授予Tablestore和ECS相關的必要操作許可權。

  • Action Trail:啟用Action Trail功能,完整記錄關鍵資源的訪問和修改動作記錄,確保操作行為可追溯。

  • 資料備份:定期對Tablestore進行資料備份,有效防範因意外故障或人為誤操作導致的資料丟失風險。

資源清理

體驗完成後,如果不計划進行生產環境部署,建議及時清理相關雲資源以避免產生不必要的費用。

  1. 釋放 ECS 執行個體

    前往ECS控制台,找到目標執行個體,單擊全部操作 > 釋放,按照頁面指引完成執行個體釋放。

  2. 刪除 Tablestore 資料表

    前往Table Store控制台,在執行個體列表中單擊目標執行個體別名, 在執行個體管理頁面先單擊目標資料表右側的索引管理,在索引管理頁面刪除多元索引,然後返回資料表列表,單擊目標資料表右側的 > 刪除,刪除資料表。

  3. 釋放 Tablestore 執行個體

    1. 前往Table Store控制台,在執行個體列表中單擊目標執行個體操作列的釋放

    2. 單擊確定,完成執行個體釋放。如出現身分識別驗證提示,請按照頁面指引完成驗證。

相關文檔