全部產品
Search
文件中心

Platform For AI:大模型RAG對話系統

更新時間:Oct 12, 2025

RAG(Retrieval-Augmented Generation,檢索增強產生)技術通過從外部知識庫檢索相關資訊,並將其與使用者輸入合并後傳入大語言模型(LLM),從而增強模型在私人領域知識問答方面的能力。EAS提供情境化部署方式,能快速構建與部署RAG對話系統,並支援靈活選擇大語言模型和向量檢索庫。本文為您介紹如何部署RAG對話系統服務以及如何進行模型推理驗證。

步驟一:部署RAG服務

  1. 登入PAI控制台,在頁面上方選擇目標地區,並在右側選擇目標工作空間,然後單擊進入EAS

  2. 推理服務頁簽,單擊部署服務,然後在情境化模型部署地區,單擊大模型RAG對話系統部署

  3. 部署大模型RAG對話系統頁面,配置參數後單擊部署。關鍵參數說明如下:

    • 版本選擇RAG服務支援兩種部署模式,根據應用情境和資源規划進行選擇。

      • LLM一體化部署: 將RAG服務與大語言模型(如Qwen)部署在同一個EAS服務執行個體中。此模式配置簡單,適合快速驗證和原型開發。

      • LLM分離式部署: 僅部署RAG服務,大語言模型作為獨立的服務存在。此模式允許RAG服務串連到不同的LLM服務(如其他EAS部署的LLM或阿里雲百鍊模型服務),便於資源複用和獨立擴充。適合生產環境或已有LLM服務的情境。

    • 部署資源:為服務分配合適的計算資源。

      • LLM一體化部署: 系統會根據所選的模型類別自動推薦資源規格。更改為更低的規格可能導致服務啟動失敗。

      • LLM分離式部署: RAG服務本身資源消耗較低。建議選擇至少8核CPU和16 GB記憶體的規格,例如 ecs.g6.2xlargeecs.g6.4xlarge

    • 向量檢索庫設定:

      • 支援通過Faiss(Facebook AI Similarity Search)ElasticsearchHologresOpenSearchRDS PostgreSQL構建向量檢索庫。

        FAISS

        使用Faiss構建本地向量庫,無需購買線上向量庫產品,免去了線上開通向量庫產品的複雜流程,更輕量易用。

        • 版本類型:選擇FAISS

        Elasticsearch

        請確認已建立Elasticsearch執行個體

        重要

        務必設定Elasticsearch執行個體允許自動建立索引:在Elasticsearch執行個體的配置與管理 > ES叢集配置頁面,單擊修改配置,將自動建立索引設定為允許自動建立索引。具體操作,請參見配置YML參數

        • 版本類型:選擇Elasticsearch

        • 私網地址/連接埠:進入Elasticsearch執行個體詳情頁,在基本資料地區可擷取私網地址和連接埠,格式為http://<私網地址>:<私網連接埠>

        • 索引名稱:系統會根據輸入執行不同操作。

          • 輸入一個新名稱:EAS 將在部署時會自動建立符合 PAI-RAG 要求的索引。

          • 輸入已存在的名稱:EAS 將直接使用該索引。請確保該索引由PAI-RAG服務建立,以保證結構相容。

        • 帳號密碼:配置建立Elasticsearch執行個體時配置的登入名稱和密碼。登入名稱預設為elastic。密碼如忘記,可重設執行個體訪問密碼

        • OSS地址:請選擇當前地區下已建立的OSS儲存目錄。通過掛載OSS路徑實現知識庫管理員。

        Hologres

        請確認已購買Hologres

        • 版本類型:選擇Hologres

        • 調用資訊:配置為指定VPC的host資訊。進入Hologres管理主控台的執行個體詳情頁,在網路資訊地區單擊指定VPC後的複製,擷取網域名稱:80前的host資訊。

        • 資料庫名稱:配置為Hologres執行個體的資料庫名稱。如無,請參見建立資料庫

        • 帳號:配置為已建立的自訂使用者帳號。具體操作,請參見建立自訂使用者,其中選擇成員角色選擇執行個體超級管理員(SuperUser)

        • 密碼:配置為已建立的自訂使用者的密碼。

        • 表名稱:系統會根據輸入執行不同操作。

          • 輸入一個新名稱:EAS 將在部署時會自動建立符合 PAI-RAG 要求的表。

          • 輸入已存在的名稱:EAS 將直接使用該表。請確保該表由PAI-RAG服務建立,以保證結構相容。

        • OSS地址:請選擇當前地區下已建立的OSS儲存目錄。通過掛載OSS路徑實現知識庫管理員。

        OpenSearch

        請確認已購買OpenSearch向量檢索版執行個體

        • 版本類型:選擇OpenSearch

        • 訪問地址:配置為OpenSearch向量檢索版執行個體的公網訪問地址。

          說明

          需為OpenSearch向量檢索版執行個體開通公網訪問功能,並將EAS公網IP地址添加為白名單。

        • 執行個體id:在OpenSearch向量檢索版執行個體列表中擷取執行個體ID。

        • 使用者名稱密碼:配置為建立OpenSearch向量檢索版執行個體時,輸入的使用者名稱和密碼。

        • 表名稱:需先建立滿足要求的索引表。參見配置執行個體建立,關鍵參數如下:

          • 情境模板選擇通用模板,欄位配置匯入如下設定檔。

            欄位設定檔

            {
            	"schema": {
            		"summarys": {
            			"parameter": {
            				"file_compressor": "zstd"
            			},
            			"summary_fields": [
            				"id",
            				"embedding",
            				"file_path",
            				"file_name",
            				"file_type",
            				"node_content",
            				"node_type",
            				"doc_id",
            				"text",
            				"source_type"
            			]
            		},
            		"file_compress": [
            			{
            				"name": "file_compressor",
            				"type": "zstd"
            			},
            			{
            				"name": "no_compressor",
            				"type": ""
            			}
            		],
            		"indexs": [
            			{
            				"index_fields": [
            					{
            						"boost": 1,
            						"field_name": "id"
            					},
            					{
            						"boost": 1,
            						"field_name": "embedding"
            					}
            				],
            				"indexer": "aitheta2_indexer",
            				"index_name": "embedding",
            				"parameters": {
            					"enable_rt_build": "true",
            					"min_scan_doc_cnt": "20000",
            					"vector_index_type": "Qc",
            					"major_order": "col",
            					"builder_name": "QcBuilder",
            					"distance_type": "SquaredEuclidean",
            					"embedding_delimiter": ",",
            					"enable_recall_report": "true",
            					"ignore_invalid_doc": "true",
            					"is_embedding_saved": "false",
            					"linear_build_threshold": "5000",
            					"dimension": "1536",
            					"rt_index_params": "{\"proxima.oswg.streamer.segment_size\":2048}",
            					"search_index_params": "{\"proxima.qc.searcher.scan_ratio\":0.01}",
            					"searcher_name": "QcSearcher",
            					"build_index_params": "{\"proxima.qc.builder.quantizer_class\":\"Int8QuantizerConverter\",\"proxima.qc.builder.quantize_by_centroid\":true,\"proxima.qc.builder.optimizer_class\":\"BruteForceBuilder\",\"proxima.qc.builder.thread_count\":10,\"proxima.qc.builder.optimizer_params\":{\"proxima.linear.builder.column_major_order\":true},\"proxima.qc.builder.store_original_features\":false,\"proxima.qc.builder.train_sample_count\":3000000,\"proxima.qc.builder.train_sample_ratio\":0.5}"
            				},
            				"index_type": "CUSTOMIZED"
            			},
            			{
            				"has_primary_key_attribute": true,
            				"index_fields": "id",
            				"is_primary_key_sorted": false,
            				"index_name": "id",
            				"index_type": "PRIMARYKEY64"
            			},
            			{
            				"index_fields": "file_path",
            				"index_name": "file_path",
            				"index_type": "STRING"
            			},
            			{
            				"index_fields": "file_name",
            				"index_name": "file_name",
            				"index_type": "STRING"
            			},
            			{
            				"index_fields": "file_type",
            				"index_name": "file_type",
            				"index_type": "STRING"
            			},
            			{
            				"index_fields": "node_content",
            				"index_name": "node_content",
            				"index_type": "STRING"
            			},
            			{
            				"index_fields": "node_type",
            				"index_name": "node_type",
            				"index_type": "STRING"
            			},
            			{
            				"index_fields": "doc_id",
            				"index_name": "doc_id",
            				"index_type": "STRING"
            			},
            			{
            				"index_fields": "text",
            				"index_name": "text",
            				"index_type": "STRING"
            			},
            			{
            				"index_fields": "source_type",
            				"index_name": "source_type",
            				"index_type": "STRING"
            			}
            		],
            		"attributes": [
            			{
            				"file_compress": "no_compressor",
            				"field_name": "id"
            			},
            			{
            				"file_compress": "no_compressor",
            				"field_name": "embedding"
            			},
            			{
            				"file_compress": "no_compressor",
            				"field_name": "file_path"
            			},
            			{
            				"file_compress": "no_compressor",
            				"field_name": "file_name"
            			},
            			{
            				"file_compress": "no_compressor",
            				"field_name": "file_type"
            			},
            			{
            				"file_compress": "no_compressor",
            				"field_name": "node_content"
            			},
            			{
            				"file_compress": "no_compressor",
            				"field_name": "node_type"
            			},
            			{
            				"file_compress": "no_compressor",
            				"field_name": "doc_id"
            			},
            			{
            				"file_compress": "no_compressor",
            				"field_name": "text"
            			},
            			{
            				"file_compress": "no_compressor",
            				"field_name": "source_type"
            			}
            		],
            		"fields": [
            			{
            				"compress_type": "uniq",
            				"field_type": "STRING",
            				"field_name": "id"
            			},
            			{
            				"user_defined_param": {
            					"multi_value_sep": ","
            				},
            				"multi_value": true,
            				"compress_type": "uniq",
            				"field_type": "FLOAT",
            				"field_name": "embedding"
            			},
            			{
            				"compress_type": "uniq",
            				"field_type": "STRING",
            				"field_name": "file_path"
            			},
            			{
            				"compress_type": "uniq",
            				"field_type": "STRING",
            				"field_name": "file_name"
            			},
            			{
            				"compress_type": "uniq",
            				"field_type": "STRING",
            				"field_name": "file_type"
            			},
            			{
            				"compress_type": "uniq",
            				"field_type": "STRING",
            				"field_name": "node_content"
            			},
            			{
            				"compress_type": "uniq",
            				"field_type": "STRING",
            				"field_name": "node_type"
            			},
            			{
            				"compress_type": "uniq",
            				"field_type": "STRING",
            				"field_name": "doc_id"
            			},
            			{
            				"compress_type": "uniq",
            				"field_type": "STRING",
            				"field_name": "text"
            			},
            			{
            				"compress_type": "uniq",
            				"field_type": "STRING",
            				"field_name": "source_type"
            			}
            		],
            		"table_name": "abc"
            	},
            	"extend": {
            		"description": [],
            		"vector": [
            			"embedding"
            		],
            		"embeding": []
            	}
            }
          • 索引結構中,向量維度要知識庫向量模型使用的向量維度保持一致,距離類型建議選擇InnerProduct

        RDS PostgreSQL

        請確認已建立RDS PostgreSQL執行個體

        • 版本類型:選擇RDS PostgreSQL

        • 主機地址:配置為RDS PostgreSQL執行個體的內網地址,您可以前往雲資料庫RDS PostgreSQL控制台頁面,在RDS PostgreSQL執行個體的資料庫連接頁面進行查看。

        • 連接埠:預設為5432,請根據實際情況填寫。

        • 資料庫:資料庫的授權帳號需為高許可權帳號,操作請參見建立帳號和資料庫。同時需為資料庫安裝外掛程式vector和jieba。

        • 表名稱:自訂設定資料庫表名稱。

        • 帳號密碼:配置為建立資料庫時的授權帳號和密碼。如何建立高許可權帳號,請參見建立帳號和資料庫,其中帳號類型選擇高許可權帳號

        • OSS地址:請選擇當前地區下已建立的OSS儲存目錄。通過掛載OSS路徑實現知識庫管理員。

      • OSS地址:選擇當前地區下已建立的OSS儲存目錄,用來儲存上傳的知識庫檔案。如果沒有可選的儲存路徑,您可以參考控制台快速入門進行建立。

        說明

        如果您選擇使用自持微調模型部署服務,請確保所選的OSS儲存路徑不與自持微調模型所在的路徑重複,以避免造成衝突。

    • 專用網路:如下進行網路設定,確保RAG服務能與LLM服務、向量檢索庫及其他雲端服務正常通訊。

      • 訪問公網服務:通過公網訪問向量資料庫、LLM服務(如阿里雲百鍊模型服務)以及使用連網搜尋,必須為EAS服務配置公網訪問能力。

      • 訪問私網服務

        • 通過內網地址訪問向量資料庫,需RAG服務與向量資料庫處於同一VPC內。

        • 通過內網地址訪問訪問LLM服務,需RAG服務與LLM服務處於同一VPC內。

      說明
      • Hologres、Elasticsearch、RDS PostgreSQL支援通過內網或公網訪問,推薦使用內網訪問。

      • Faiss向量檢索庫,無需通過網路訪問。OpenSearch只支援通過公網訪問。

  1. 服務狀態變為運行中時,表示服務部署成功(服務部署時間長度通常約為5分鐘,具體時間長度可能因模型參數量或其他因素略有差異,請耐心等待)。

步驟:API調用

RAG服務提供API介面(如知識庫管理員、對話等),便於整合到應用程式中。詳情請參見RAG API介面說明

成本與風險說明

成本構成

部署和使用本方案涉及的費用主要包括:

  • EAS資源的費用: RAG服務運行所佔用的計算資源(vCPU、記憶體、GPU等)按時收費。服務停止後,此部分費用即停止。

  • 向量檢索庫費用: 若使用Elasticsearch、、HologresOpenSearchRDS PostgreSQL,需支付相應產品的執行個體費用。

  • Object Storage Service費用: 用於儲存原始知識庫檔案。

  • 大語言模型調用費用: 若使用阿里雲百鍊等商業模型服務,會產生API調用費用。

  • 公網NAT Gateway費用: 若EAS服務需要訪問公網,會產生NAT Gateway的費用。

  • 網路搜尋服務費用: 若啟用連網搜尋功能(如Bing),會產生相應搜尋服務的費用。

重要

停止EAS服務後,僅能停止EAS資源的收費。若需停止其他產品的收費,請參考對應產品的文檔指引,按照說明停止或刪除相關執行個體。

關鍵風險與限制

  • 對話長度限制: 受限於所選LLM服務的上下文視窗大小(Token限制),單次對話能處理的文本長度有限。

  • 檔案覆蓋: 在使用除FAISS外的向量檢索庫時,上傳同名檔案將直接覆蓋已有資料,操作前需謹慎。

  • API參數限制: 僅部分功能參數可通過API進行配置,其餘進階配置(如多數檢索調優參數)仍需通過WebUI完成。

注意事項

本實踐受制於LLM服務的伺服器資源大小以及預設Token數量限制,能支援的對話長度有限,旨在協助您體驗RAG對話系統的基本檢索功能。

常見問題

通過API設定的參數為什麼沒有生效?

目前,PAI-RAG服務僅支援通過API設定介面說明文檔中列出的參數,其餘參數需通過WebUI介面進行配置。