本頁說明如何使用 Vertex AI RAG Engine LLM 剖析器。
簡介
Vertex AI RAG Engine 會使用 LLM 剖析文件,大型語言模型可透過下列方式有效處理文件:
- 理解及解讀各種格式的語意內容。
- 擷取相關文件區塊。
- 從文件中擷取有意義的資訊。
- 找出文件中的相關章節。
- 準確摘要複雜文件。
- 瞭解及與圖片互動。
- 從圖表和示意圖中擷取資料。
- 描述圖片。
- 瞭解圖表和文字之間的關係。
- 提供更豐富的背景資訊,並生成更準確的回覆。
Vertex AI RAG 引擎的功能可大幅提升生成回覆的品質。
支援的模型
LLM 剖析器僅支援 Gemini 模型。如果已啟用 RAG API,您就能存取支援的模型。如需支援的生成模型清單,請參閱「生成模型」。
支援的檔案類型
LLM 剖析器支援下列檔案類型:
application/pdf
image/png
image/jpeg
image/webp
image/heic
image/heif
定價與配額
如需定價詳細資料,請參閱 Vertex AI 定價。
如要瞭解適用的配額,請參閱「要求配額」。
LLM 剖析器會呼叫 Gemini 模型來剖析文件。這會產生額外費用,並計入專案。您可以使用下列公式概略估算費用:
cost = number_of_document_files * average_pages_per_document * (average_input_tokens * input_token_pricing_of_selected_model + average_output_tokens * output_token_pricing_of_selected_model)
舉例來說,假設您有 1,000 個 PDF 檔案,每個檔案有 50 頁,平均每頁 PDF 有 500 個權杖,提示則需要額外 100 個權杖。平均輸出為 100 個權杖。
設定中使用的 Gemini 2.0 Flash-Lite 模型會進行剖析,每 100 萬個輸入權杖的費用為 $0.075 美元,每 100 萬個輸出文字權杖的費用為 $0.3 美元。
cost = 1,000 * 50 * (600 * 0.075 / 1M + 100 * 0.3 / 1M) = 3.75
費用為 $3.75 美元。
匯入檔案 (已啟用 LlmParser
)
請替換程式碼範例中使用的下列變數值:
- PROJECT_ID:您的 Google Cloud 專案 ID。
- LOCATION:處理要求的區域。
- RAG_CORPUS_RESOURCE:語料庫的 ID。
- GCS_URI:要匯入檔案的 Cloud Storage URI。
- GOOGLE_DRIVE_URI:要匯入檔案的 Google 雲端硬碟 URI。
- MODEL_NAME:用於剖析的模型資源名稱。
格式:
projects/{project_id}/locations/{location}/publishers/google/models/{model_id}
- CUSTOM_PARSING_PROMPT:選用:客戶為 LLM 剖析器設定的自訂提示,用於剖析文件。
MAX_PARSING_REQUESTS_PER_MIN:選用: 這項作業每分鐘可向 Vertex AI 模型提出的要求數量上限。詳情請參閱「Vertex AI 的生成式 AI 使用頻率限制」和專案的「配額與系統限制」頁面,設定適當的值。
REST
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_RESOURCE/ragFiles:import" -d '{
"import_rag_files_config": {
"gcs_source": {
"uris": ["GCS_URI", "GOOGLE_DRIVE_URI"]
},
"rag_file_chunking_config": {
"chunk_size": 512,
"chunk_overlap": 102
},
"rag_file_parsing_config": {
"llm_parser": {
"model_name": "MODEL_NAME",
"custom_parsing_prompt": "CUSTOM_PARSING_PROMPT"
"max_parsing_requests_per_min": "MAX_PARSING_REQUESTS_PER_MIN"
}
}
}
}'
Python
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。詳情請參閱 Python API 參考說明文件。
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
CORPUS_NAME = "RAG_CORPUS_RESOURCE"
LOCATION = "LOCATION"
MODEL_ID = "MODEL_ID"
MODEL_NAME = "projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}"
MAX_PARSING_REQUESTS_PER_MIN = MAX_PARSING_REQUESTS_PER_MIN # Optional
CUSTOM_PARSING_PROMPT = "Your custom prompt" # Optional
PATHS = ["https://drive.google.com/file/123", "gs://my_bucket/my_files_dir"]
# Initialize Vertex AI API once per session
vertexai.init(project={PROJECT_ID}, location={LOCATION})
transformation_config = rag.TransformationConfig(
chunking_config=rag.ChunkingConfig(
chunk_size=1024, # Optional
chunk_overlap=200, # Optional
),
)
llm_parser_config = rag.LlmParserConfig(
model_name = MODEL_NAME,
max_parsing_requests_per_min=MAX_PARSING_REQUESTS_PER_MIN, # Optional
custom_parsing_prompt=CUSTOM_PARSING_PROMPT, # Optional
)
rag.import_files(
CORPUS_NAME,
PATHS,
llm_parser=llm_parser_config,
transformation_config=transformation_config,
)
提示
Vertex AI RAG Engine LLM 剖析器會使用預先定義及調整的提示剖析文件。不過,如果文件內容較為特殊,可能不適合使用一般提示,您可以在使用 API 時指定自訂剖析提示。要求 Gemini 剖析文件時,Vertex AI RAG 引擎會在預設系統提示中附加提示。
提示範本表格
為協助剖析文件,下表提供提示範本示例,引導您建立提示,供 Vertex AI RAG 引擎剖析文件:
操作說明 | 範本聲明 | 示例 |
---|---|---|
指定角色。 | 您是 [指定角色,例如事實資料擷取器或資訊擷取器]。 | 你是資訊擷取者。 |
指定工作。 | 從 [指定文件來源,例如文件、文字、文章、圖片、表格] 中擷取 [指定資訊類型,例如事實陳述、重要資料或特定詳細資料]。 | 從 sample.txt 檔案中擷取重要資料。 |
說明您希望 LLM 如何根據文件生成輸出內容。 | 以 [指定輸出格式,例如結構化清單或文字格式]呈現每個事實,並連結至 [指定來源位置,例如網頁、段落、表格或列]。 | 以結構化清單呈現各項事實,並連結至範例網頁。 |
強調 LLM 應著重的內容。 | 請準確擷取 [指定重要資料類型,例如名稱、日期、數字、屬性或關係]。 | 擷取姓名和日期。 |
選取要 LLM 避免的內容。 | [列出應避免的動作,例如分析、解讀、歸納、推論或提供意見]。只擷取文件中明確提及的內容。 | 不提供意見。只擷取文件中明確提及的內容。 |
一般指南
請按照下列準則撰寫提示,並傳送至 LLM 剖析器。
- 具體:清楚定義工作和要擷取的資訊類型。
- 詳細:詳細說明輸出格式、來源出處,以及不同資料結構的處理方式。
- 限制:明確指出 AI 不應執行的動作,例如分析或解讀。
- 明確:使用明確且直接的語言。
- 結構化:使用編號清單或項目符號,以邏輯方式整理說明,方便使用者閱讀。
剖析品質分析
下表列出客戶使用 Vertex AI RAG 引擎執行的情境結果。意見回饋顯示,LLM 剖析器可提升文件剖析品質。
情境 | 結果 | |
---|---|---|
剖析投影片中的資訊並連結各節 | LLM 剖析器已成功將一張投影片上的章節標題,連結至後續投影片上顯示的詳細資訊。 | |
瞭解及擷取表格中的資訊 | 大型語言模型剖析器正確連結大型表格中的欄和標題,以回答特定問題。 | |
解讀流程圖 | LLM 剖析器能夠遵循流程圖的邏輯,並擷取正確的動作順序和對應資訊。 | |
從圖表擷取資料 | LLM 剖析器可以解讀不同類型的圖表 (例如折線圖),並根據查詢擷取特定資料點。 | |
擷取標題和文字之間的關係 | 在提示的引導下,LLM 剖析器會留意標題結構,並擷取與特定主題或章節相關的所有資訊。 | |
透過提示工程克服嵌入限制 | 雖然一開始在某些用途中,嵌入模型限制會造成阻礙,但額外實驗顯示,精心設計的 LLM 剖析器提示可能可以解決這些問題,即使嵌入模型單獨難以進行語意理解,也能擷取正確資訊。 |
LLM 剖析器可提升 LLM 瞭解及推論文件內容脈絡的能力,進而生成更準確且全面的回覆。
擷取查詢
輸入提示並傳送至生成式 AI 模型後,RAG 中的擷取元件會搜尋知識庫,找出與查詢相關的資訊。如要查看根據查詢文字從語料庫擷取 RAG 檔案的範例,請參閱擷取查詢。
後續步驟
- 如要進一步瞭解 Vertex AI RAG 引擎,請參閱 Vertex AI RAG 引擎總覽。
- 如要進一步瞭解 Vertex AI RAG 引擎,請參閱 Vertex AI RAG 引擎 API。