使用 LLM 剖析器

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

簡介

RAG 引擎會使用 LLM 剖析文件。大型語言模型能透過下列方式有效處理文件:

  • 理解及解讀各種格式的語意內容。
  • 擷取相關文件區塊。
  • 從文件中擷取有意義的資訊。
  • 找出文件中的相關章節。
  • 準確總結複雜文件。
  • 理解視覺內容並與之互動。
  • 從圖表和圖解中擷取資料。
  • 描述圖片。
  • 瞭解圖表與文字之間的關係。
  • 提供更符合情境且準確的回覆。

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

支援的模型

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

支援的檔案類型

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

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

定價與配額

如要瞭解定價詳情,請參閱「Gemini Enterprise Agent Platform 定價」。

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

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 個權杖。

cost = 1,000 * 50 * (600 * 0.075 / 1M + 100 * 0.3 / 1M) = 3.75

費用為 $3.75 美元。

匯入檔案時啟用 LlmParser

請替換程式碼範例中下列變數的值:

  • PROJECT_ID: Cloud de Confiance by S3NS 專案的 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:選用。工作每分鐘可向 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 Engine 會使用預先定義且經過調整的提示剖析文件。不過,如果您的文件較為特殊,可能不適合使用一般提示,您可以在使用 API 時指定自訂剖析提示。要求 Gemini 剖析文件時,RAG Engine 會在預設系統提示詞中附加提示詞。

提示詞範本表格

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

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

一般指南

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

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

剖析品質分析

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

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

LLM 剖析器可提升 LLM 理解及推論文件內容的能力,進而提供更準確、全面的回覆。

檢索查詢

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

後續步驟