Utilizzare il parser LLM

Questa pagina spiega come utilizzare il parser LLM del motore RAG della piattaforma di agenti Gemini Enterprise.

Introduzione

Il motore RAG della piattaforma agentica Gemini Enterprise utilizza i modelli LLM per l'analisi dei documenti. Gli LLM hanno la capacità di elaborare efficacemente i documenti nei seguenti modi:

  • Comprendere e interpretare contenuti semantici in vari formati.
  • Recupera i segmenti di documenti pertinenti.
  • Estrai informazioni significative dai documenti.
  • Identifica le sezioni pertinenti nei documenti.
  • Riassumere con precisione documenti complessi.
  • Comprendere e interagire con le immagini.
  • Estrai dati da grafici e diagrammi.
  • Descrivi le immagini.
  • Comprendere le relazioni tra grafici e testo.
  • Fornire risposte più accurate e ricche di contesto.

Le funzionalità del motore RAG della piattaforma agentica Gemini Enterprise migliorano notevolmente la qualità delle risposte generate.

Modelli supportati

I seguenti modelli supportano il parser LLM di RAG Engine di Gemini Enterprise Agent Platform:

Tipi di file supportati

I seguenti tipi di file sono supportati dal parser LLM:

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

Prezzi e quote

Per i dettagli sui prezzi, consulta i prezzi di Gemini Enterprise Agent Platform.

Per le quote applicabili, consulta Quote di frequenza.

Il parser LLM chiama i modelli Gemini per analizzare i tuoi documenti. Questa operazione genera costi aggiuntivi, che vengono addebitati al tuo progetto. Il costo può essere stimato approssimativamente utilizzando questa formula:

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)

Ad esempio, hai 1000 file PDF e ogni file PDF ha 50 pagine. La pagina media di un PDF contiene 500 token e ne abbiamo bisogno di altri 100 per il prompt. L'output medio è di 100 token.

Gemini 2.0 Flash-Lite viene utilizzato nella configurazione per l'analisi e costa 0,075 $per 1 milione di token di input e 0,3 $per i token di testo di output.

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

Il costo è di 3,75 $.

Importa i file con LlmParser abilitato

Sostituisci i valori nelle seguenti variabili utilizzate negli esempi di codice:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud .

  • LOCATION: la regione in cui viene elaborata la richiesta.

  • RAG_CORPUS_RESOURCE: l'ID del corpus.

  • GCS_URI: l'URI Cloud Storage dei file che vuoi importare.

  • GOOGLE_DRIVE_URI: l'URI Google Drive dei file che vuoi importare.

  • MODEL_NAME: il nome della risorsa del modello utilizzato per l'analisi.

    Formato: projects/{project_id}/locations/{location}/publishers/google/models/{model_id}

  • CUSTOM_PARSING_PROMPT: (facoltativo) prompt personalizzato configurato dal cliente per il parser LLM da utilizzare per l'analisi dei documenti.

  • MAX_PARSING_REQUESTS_PER_MIN: facoltativo: il numero massimo di richieste che il job può effettuare al modello Agent Platform al minuto. Per saperne di più, consulta AI generativa su limiti di frequenza della piattaforma agenti e la pagina Quote e limiti di sistema del tuo progetto per impostare un valore appropriato.

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

Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.

  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,
  )

Prompting

Il parser LLM del motore RAG della piattaforma agentica Gemini Enterprise utilizza un prompt predefinito e ottimizzato per l'analisi dei documenti. Tuttavia, se hai documenti specializzati che potrebbero non essere adatti a un prompt generale, hai la possibilità di specificare il prompt di analisi personalizzato quando utilizzi l'API. Quando richiedi a Gemini di analizzare i tuoi documenti, l'app del motore RAG di Gemini Enterprise Agent Platform aggiunge un prompt al prompt di sistema predefinito.

Tabella dei modelli di prompt

Per facilitare l'analisi dei documenti, la seguente tabella fornisce un esempio di modello di prompt per guidarti nella creazione di prompt che il motore RAG della piattaforma agentica Gemini Enterprise può utilizzare per analizzare i tuoi documenti:

Istruzione Dichiarazione del modello Esempio
Specifica il ruolo. Sei un/una [specifica il ruolo, ad esempio un estrattore di dati fattuali o un recuperatore di informazioni]. Sei un recuperatore di informazioni.
Specifica l'attività. Estrai [specifica il tipo di informazioni, ad esempio affermazioni fattuali, dati chiave o dettagli specifici] da [specifica l'origine del documento, ad esempio un documento, un testo, un articolo, un'immagine, una tabella]. Estrai i dati chiave dal file sample.txt.
Spiega come vuoi che l'LLM generi l'output in base ai tuoi documenti. Presenta ogni fatto in un [specifica il formato di output, ad esempio un elenco strutturato o un formato di testo] e collega alla sua [specifica la posizione di origine, ad esempio una pagina, un paragrafo, una tabella o una riga]. Presenta ogni fatto in un elenco strutturato e crea un link alla relativa pagina di esempio.
Evidenzia ciò su cui deve concentrarsi l'LLM. Estrai [specifica i tipi di dati chiave, come nomi, date, numeri, attributi o relazioni] esattamente come indicato. Estrai nomi e date.
Evidenzia ciò che vuoi che il LLM eviti. [Elenca le azioni da evitare, come analisi, interpretazione, riepilogo, deduzione o espressione di opinioni]. Estrai solo ciò che è esplicitamente indicato nel documento. Non esprimere opinioni. Estrai solo ciò che è esplicitamente indicato nel documento.

Indicazioni generali

Segui queste linee guida per scrivere il prompt da inviare al parser LLM.

  • Specifico: definisci chiaramente l'attività e il tipo di informazioni da estrarre.
  • Dettagliate: fornisci istruzioni dettagliate su formato di output, attribuzione dell'origine e gestione di diverse strutture di dati.
  • Limitazione: indica esplicitamente cosa non deve fare l'AI, ad esempio analisi o interpretazione.
  • Chiaro: utilizza un linguaggio chiaro e direttivo.
  • Strutturate: organizza le istruzioni in modo logico utilizzando elenchi numerati o puntati per facilitarne la lettura.

Analisi della qualità dell'analisi

Questa tabella elenca i risultati degli scenari eseguiti dai clienti utilizzando il motore RAG di Gemini Enterprise Agent Platform. Il feedback mostra che il parser LLM migliora la qualità dell'analisi dei documenti.

Scenario Risultato
Analisi delle informazioni nelle slide e collegamento delle sezioni Il parser LLM ha collegato correttamente i titoli delle sezioni di una slide alle informazioni dettagliate presentate nelle slide successive.
Comprendere ed estrarre informazioni dalle tabelle Il parser LLM ha correlato correttamente colonne e intestazioni all'interno di una tabella di grandi dimensioni per rispondere a domande specifiche.
Interpretare i diagrammi di flusso Il parser LLM è stato in grado di seguire la logica di un diagramma di flusso ed estrarre la sequenza corretta di azioni e le informazioni corrispondenti.
Estrazione dei dati dai grafici Il parser LLM può interpretare diversi tipi di grafici, ad esempio grafici a linee, ed estrarre punti dati specifici in base alla query.
Acquisizione delle relazioni tra titoli e testo Il parser LLM, guidato dal prompt, ha prestato attenzione alle strutture dei titoli ed è riuscito a recuperare tutte le informazioni pertinenti associate a un argomento o una sezione specifici.
Possibilità di superare le limitazioni dell'incorporamento con l'ingegneria dei prompt Sebbene inizialmente ostacolati dalle limitazioni del modello di incorporamento in alcuni casi d'uso, ulteriori esperimenti hanno dimostrato che un prompt del parser LLM ben realizzato potrebbe potenzialmente mitigare questi problemi e recuperare le informazioni corrette anche quando la comprensione semantica è difficile per il solo modello di incorporamento.

Il parser LLM migliora la capacità dell'LLM di comprendere e ragionare sul contesto all'interno di un documento, il che porta a risposte più accurate e complete.

Query di recupero

Dopo aver inserito un prompt inviato a un modello di AI generativa, il componente di recupero in RAG esegue una ricerca nella knowledge base per trovare informazioni pertinenti alla query. Per ulteriori informazioni sul recupero dei file RAG da un corpus, consulta Metodo: ragFiles.get.

Passaggi successivi