Menggunakan parser LLM

Halaman ini menjelaskan cara menggunakan RAG Engine di parser LLM Platform Agen Gemini Enterprise.

Pengantar

RAG Engine menggunakan LLM untuk penguraian dokumen. LLM memiliki kemampuan untuk memproses dokumen secara efektif dengan cara berikut:

  • Memahami dan menafsirkan konten semantik dalam berbagai format.
  • Mengambil bagian dokumen yang relevan.
  • Mengekstrak informasi yang bermakna dari dokumen.
  • Mengidentifikasi bagian yang relevan dalam dokumen.
  • Meringkas dokumen kompleks secara akurat.
  • Memahami dan berinteraksi dengan visual.
  • Mengekstrak data dari diagram dan grafik.
  • Mendeskripsikan gambar.
  • Memahami hubungan antara diagram dan teks.
  • Memberikan respons yang lebih kaya konteks dan akurat.

Kemampuan RAG Engine meningkatkan kualitas respons yang dihasilkan secara signifikan.

Model yang didukung

Model berikut mendukung parser LLM RAG Engine:

Klik untuk meluaskan model yang didukung

Jenis file yang didukung

Jenis file berikut didukung oleh parser LLM:

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

Harga dan kuota

Untuk mengetahui detail harga, lihat Harga Platform Agen Gemini Enterprise.

Untuk mengetahui kuota yang berlaku, lihat Kuota kapasitas.

Parser LLM memanggil model Gemini untuk mengurai dokumen Anda. Hal ini akan menimbulkan biaya tambahan, yang akan ditagih ke project Anda. Biaya dapat diperkirakan secara kasar menggunakan rumus ini:

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)

Misalnya, Anda memiliki 1.000 file PDF, dan setiap file PDF memiliki 50 halaman. Halaman PDF rata-rata memiliki 500 token, dan kita memerlukan 100 token tambahan untuk perintah. Output rata-rata adalah 100 token.

Gemini 2.0 Flash-Lite digunakan dalam konfigurasi Anda untuk penguraian, dan biayanya adalah $0,075 untuk 1 juta token input dan $0,3 untuk token teks output.

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

Biayanya adalah $3,75.

Mengimpor file dengan LlmParser diaktifkan

Ganti nilai dalam variabel berikut yang digunakan dalam contoh kode:

  • PROJECT_ID: ID untuk Google Cloud project Anda.

  • LOCATION: Region tempat permintaan Anda diproses.

  • RAG_CORPUS_RESOURCE: ID korpus Anda.

  • GCS_URI: URI Cloud Storage dari file yang ingin Anda impor.

  • GOOGLE_DRIVE_URI: URI Google Drive dari file yang ingin Anda impor.

  • MODEL_NAME: Nama resource model yang digunakan untuk penguraian.

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

  • CUSTOM_PARSING_PROMPT: Opsional: Perintah kustom yang dikonfigurasi oleh pelanggan untuk digunakan oleh parser LLM untuk mengurai dokumen.

  • MAX_PARSING_REQUESTS_PER_MIN: Opsional: Jumlah maksimum permintaan yang dapat dibuat oleh tugas ke model Platform Agen per menit. Untuk mengetahui informasi selengkapnya, lihat Batas kapasitas AI Generatif di Agent Platform dan halaman Kuota & Batas Sistem untuk project Anda guna menetapkan nilai yang sesuai.

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

Untuk mempelajari cara menginstal atau mengupdate Agent Platform SDK untuk Python, lihat Menginstal Agent Platform SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi 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,
  )

Penulisan perintah

RAG Engine di parser LLM Gemini Enterprise Agent Platform menggunakan perintah yang telah ditentukan dan disesuaikan untuk mengurai dokumen. Namun, jika Anda memiliki dokumen khusus yang mungkin tidak sesuai untuk perintah umum, Anda memiliki opsi untuk menentukan perintah penguraian kustom saat menggunakan API. Saat meminta Gemini untuk mengurai dokumen Anda, aplikasi RAG Engine akan menambahkan perintah ke perintah sistem default Anda.

Tabel template perintah

Untuk membantu penguraian dokumen, tabel berikut memberikan contoh template perintah untuk memandu Anda membuat perintah yang dapat digunakan RAG Engine untuk mengurai dokumen Anda:

Petunjuk Pernyataan template Contoh
Menentukan peran. Anda adalah [Tentukan peran, seperti ekstraktor data faktual ekstraktor atau pengambil informasi]. Anda adalah pengambil informasi.
Menentukan tugas. Ekstrak [Tentukan jenis informasi, seperti pernyataan faktual, data utama, atau detail tertentu] dari [Tentukan sumber dokumen, seperti dokumen, teks, artikel, gambar, tabel]. Ekstrak data utama dari file sample.txt.
Jelaskan cara Anda ingin LLM menghasilkan output sesuai dengan dokumen Anda. Sajikan setiap fakta dalam [Tentukan format output, seperti daftar terstruktur atau format teks], dan tautkan ke [Tentukan lokasi sumber, seperti halaman, paragraf, tabel, atau baris]. Sajikan setiap fakta dalam daftar terstruktur, dan tautkan ke halaman contohnya.
Soroti hal yang harus menjadi fokus LLM. Ekstrak [Tentukan jenis data utama seperti nama, tanggal, angka, atribut, atau hubungan] persis seperti yang dinyatakan. Ekstrak nama dan tanggal.
Soroti hal yang tidak ingin Anda lakukan oleh LLM. [Cantumkan tindakan yang harus dihindari, seperti analisis, interpretasi, ringkasan, kesimpulan, atau pemberian opini]. Ekstrak hanya hal yang secara eksplisit dinyatakan dalam dokumen. Tidak memberikan opini. Ekstrak hanya hal yang secara eksplisit dinyatakan dalam dokumen.

Panduan umum

Ikuti panduan ini untuk menulis perintah yang akan dikirim ke parser LLM.

  • Spesifik: Tentukan dengan jelas tugas dan jenis informasi yang akan di ekstrak.
  • Detail: Berikan petunjuk mendetail tentang format output, atribusi sumber, dan penanganan struktur data yang berbeda.
  • Membatasi: Nyatakan secara eksplisit hal yang tidak boleh dilakukan AI, seperti analisis atau interpretasi.
  • Jelas: Gunakan bahasa yang jelas dan direktif.
  • Terstruktur: Atur petunjuk secara logis menggunakan daftar bernomor atau poin-poin untuk keterbacaan.

Analisis kualitas penguraian

Tabel ini mencantumkan hasil dari skenario yang dijalankan pelanggan menggunakan RAG Engine di Platform Agen Gemini Enterprise. Masukan menunjukkan bahwa parser LLM meningkatkan kualitas penguraian dokumen.

Skenario Hasil
Mengurai informasi di seluruh slide dan menautkan bagian Parser LLM berhasil menautkan judul bagian di satu slide ke informasi mendetail yang ditampilkan di slide berikutnya.
Memahami dan mengekstrak informasi dari tabel Parser LLM dengan benar menghubungkan kolom dan header dalam tabel besar untuk menjawab pertanyaan tertentu.
Menafsirkan diagram alur Parser LLM dapat mengikuti logika diagram alur dan mengekstrak urutan tindakan yang benar serta informasi yang sesuai.
Mengekstrak data dari diagram Parser LLM dapat menafsirkan berbagai jenis diagram, seperti diagram garis, dan mengekstrak titik data tertentu berdasarkan kueri.
Mencatat hubungan antara judul dan teks Parser LLM, yang dipandu oleh perintah, memperhatikan struktur judul dan dapat mengambil semua informasi yang relevan yang terkait dengan topik atau bagian tertentu.
Potensi untuk mengatasi batasan embedding dengan rekayasa perintah Meskipun awalnya terhambat oleh batasan model embedding dalam beberapa kasus penggunaan eksperimen tambahan menunjukkan bahwa perintah parser LLM yang dibuat dengan baik berpotensi mengurangi masalah ini dan mengambil informasi yang benar meskipun pemahaman semantik sulit dilakukan oleh model embedding saja.

Parser LLM meningkatkan kemampuan LLM untuk memahami dan menalar konteks dalam dokumen, sehingga menghasilkan respons yang lebih akurat dan komprehensif.

Kueri pengambilan

Setelah Anda memasukkan perintah yang dikirim ke model AI generatif, komponen pengambilan di RAG akan menelusuri pusat informasinya untuk menemukan informasi yang relevan dengan kueri. Untuk mengetahui informasi selengkapnya tentang cara mengambil file RAG dari a korpus, lihat Metode: ragFiles.get.

Langkah berikutnya