使用 LLM 剖析器

本頁說明如何在 Gemini Enterprise Agent Platform LLM 剖析器上使用 RAG Engine。

簡介

RAG 引擎會使用 LLM 剖析文件。LLM 可有效處理文件,方法如下:

  • 理解及解讀各種格式的語意內容。
  • 擷取相關文件區塊。
  • 從文件中擷取有意義的資訊。
  • 找出文件中的相關章節。
  • 準確摘要複雜文件。
  • 瞭解及與圖像互動。
  • 從圖表和示意圖中擷取資料。
  • 描述圖片。
  • 瞭解圖表和文字之間的關係。
  • 提供更豐富的背景資訊,並生成更準確的回覆。

RAG 引擎的功能可大幅提升生成回覆的品質。

支援的模型

下列模型支援 RAG Engine LLM 剖析器:

按一下即可展開支援的機型

支援的檔案類型

LLM 剖析器支援下列檔案類型:

  • application/pdf
  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif

定價與配額

如需定價詳情,請參閱 Gemini Enterprise Agent Platform 定價

如要瞭解適用的配額,請參閱「速率配額」。

大型語言模型剖析器會呼叫 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 檔案,每個 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:專案的 ID。 Google Cloud

  • 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:選用:這項工作每分鐘可向 Agent Platform 模型發出的要求數量上限。詳情請參閱「Agent Platform 的生成式 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

如要瞭解如何安裝或更新 Agent Platform SDK for Python,請參閱「安裝 Agent Platform SDK for Python」。詳情請參閱 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 Agent Platform 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,
  )

提示

Gemini Enterprise Agent Platform LLM 剖析器的 RAG 引擎會使用預先定義及調整的提示剖析文件。不過,如果文件內容較為特殊,可能不適合使用一般提示,您可以在使用 API 時指定自訂剖析提示。要求 Gemini 剖析文件時,RAG Engine 會在預設系統提示中附加提示。

提示範本表格

為協助剖析文件,下表提供提示範本範例,引導您建立 RAG 引擎可用來剖析文件的提示:

操作說明 範本聲明 範例
指定角色。 你是 [指定角色,例如事實資料擷取者或資訊擷取者]。 你是資訊擷取者。
指定工作。 從 [指定文件來源,例如文件、文字、文章、圖片、表格] 中擷取 [指定資訊類型,例如事實陳述、重要資料或特定詳細資料]。 從 sample.txt 檔案中擷取重要資料。
說明您希望 LLM 如何根據文件生成輸出內容。 以 [指定輸出格式,例如結構化清單或文字格式]呈現每個事實,並連結至 [指定來源位置,例如網頁、段落、表格或列]。 以結構化清單呈現各項事實,並連結至範例網頁。
強調 LLM 應著重的項目。 請如實擷取 [指定重要資料類型,例如名稱、日期、數字、屬性或關係]。 擷取姓名和日期。
醒目顯示要 LLM 避免的內容。 [列出應避免的動作,例如分析、解讀、歸納、推論或提供意見]。只擷取文件中明確提及的內容。 請勿提供意見,只擷取文件中明確提及的內容。

一般指南

請按照下列準則撰寫提示,並傳送至 LLM 剖析器。

  • 具體:清楚定義工作和要擷取的資訊類型。
  • 詳細:提供輸出格式、來源出處和不同資料結構處理方式的詳細說明。
  • 限制:明確指出 AI 不應執行的動作,例如分析或解讀。
  • 明確:使用明確且直接的語言。
  • 結構化:使用編號清單或項目符號,以邏輯方式整理指令,方便閱讀。

剖析品質分析

下表列出客戶在 Gemini Enterprise Agent Platform 上使用 RAG Engine 執行的情境結果。意見回饋顯示,LLM 剖析器可提升文件剖析品質。

情境 結果
剖析投影片中的資訊並連結各節 LLM 剖析器已成功將一張投影片上的章節標題,連結至後續投影片上顯示的詳細資訊。
瞭解及擷取表格中的資訊 大型語言模型剖析器正確關聯大型表格中的欄和標題,以回答特定問題。
解讀流程圖 LLM 剖析器能夠遵循流程圖的邏輯,並擷取正確的動作順序和相應資訊。
從圖表擷取資料 LLM 剖析器可以解讀不同類型的圖表 (例如折線圖),並根據查詢擷取特定資料點。
擷取標題和文字之間的關係 在提示的引導下,LLM 剖析器會留意標題結構,並擷取與特定主題或章節相關的所有資訊。
透過提示工程克服嵌入限制的潛力 雖然一開始在某些用途中,嵌入模型限制會造成阻礙,但額外實驗顯示,精心設計的 LLM 剖析器提示可能可以解決這些問題,即使嵌入模型難以單獨理解語意,也能擷取正確資訊。

LLM 剖析器可提升 LLM 瞭解及推論文件內容脈絡的能力,進而生成更準確且全面的回覆。

擷取查詢

輸入提示並傳送至生成式 AI 模型後,RAG 中的檢索元件會搜尋知識庫,找出與查詢相關的資訊。如要進一步瞭解如何從語料庫擷取 RAG 檔案,請參閱「方法:ragFiles.get」。

後續步驟