使用 LLM 剖析器

本頁說明如何使用 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 檔案的範例,請參閱擷取查詢

後續步驟