Menggunakan parser LLM

Halaman ini menjelaskan cara menggunakan parser LLM Vertex AI RAG Engine.

Pengantar

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

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

Kemampuan Vertex AI RAG Engine secara signifikan meningkatkan kualitas respons yang dihasilkan.

Model yang didukung

Parser LLM hanya mendukung model Gemini. Jika RAG API diaktifkan, Anda memiliki akses ke model yang didukung. Untuk mengetahui daftar model generasi yang didukung, lihat Model generatif.

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 Vertex AI.

Untuk mengetahui kuota yang berlaku, lihat Meminta kuota.

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 formula 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-ratanya adalah 100 token.

Gemini 2.0 Flash-Lite digunakan dalam konfigurasi Anda untuk parsing, dan harganya $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 project Google Cloud 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 file yang ingin Anda impor.
  • MODEL_NAME: Nama resource model yang digunakan untuk pemrosesan.

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

  • CUSTOM_PARSING_PROMPT: Opsional: Perintah kustom yang dikonfigurasi oleh pelanggan untuk digunakan parser LLM dalam menguraikan dokumen.
  • MAX_PARSING_REQUESTS_PER_MIN: Opsional: Jumlah maksimum permintaan yang dapat dilakukan tugas ke model Vertex AI per menit. Untuk mengetahui informasi selengkapnya, lihat Batas kapasitas AI Generatif di Vertex AI 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 Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk informasi selengkapnya, lihat dokumentasi referensi Python API.

  from vertexai.preview 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,
  )

Perintah

Parser LLM Vertex AI RAG Engine menggunakan perintah yang telah ditentukan dan disesuaikan untuk mengurai dokumen. Namun, jika Anda memiliki dokumen khusus yang mungkin tidak cocok untuk perintah umum, Anda memiliki opsi untuk menentukan perintah penguraian kustom saat menggunakan API. Saat meminta Gemini untuk mengurai dokumen Anda, Vertex AI 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 dalam membuat perintah yang dapat digunakan Vertex AI RAG Engine untuk mengurai dokumen:

Petunjuk Pernyataan template Contoh
Tentukan peran. Anda adalah [Tentukan peran, seperti ekstraktor data faktual atau pengambil informasi]. Anda adalah pengambil informasi.
Tentukan tugas. Ekstrak [Tentukan jenis informasi, seperti pernyataan faktual, data utama, atau detail spesifik] dari [Tentukan sumber dokumen, seperti dokumen, teks, artikel, gambar, tabel]. Ekstrak data kunci dari file sample.txt.
Jelaskan bagaimana Anda ingin LLM menghasilkan output sesuai dengan dokumen Anda. Present each fact in a [Specify the output format, such as a structured list or text format], and link to its [Specify the source location, such as a page, paragraph, table, or row]. Tampilkan setiap fakta dalam daftar terstruktur, dan tautkan ke halaman contohnya.
Soroti apa yang harus menjadi fokus LLM. Ekstrak [Tentukan jenis data utama, seperti nama, tanggal, angka, atribut, atau hubungan] persis seperti yang dinyatakan. Mengekstrak nama dan tanggal.
Tandai hal yang ingin dihindari LLM. [Cantumkan tindakan yang harus dihindari, seperti analisis, interpretasi, meringkas, menyimpulkan, atau memberikan pendapat]. Hanya ekstrak apa yang dinyatakan secara eksplisit dalam dokumen. Tidak memberikan pendapat. Ekstrak hanya apa yang dinyatakan secara eksplisit dalam dokumen.

Panduan umum

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

  • Khusus: Tentukan dengan jelas tugas dan jenis informasi yang akan diekstrak.
  • Mendetail: Memberikan petunjuk mendetail tentang format output, atribusi sumber, dan penanganan berbagai struktur data.
  • Pembatasan: Nyatakan secara eksplisit hal-hal yang tidak boleh dilakukan AI seperti analisis atau penafsiran.
  • Jelas: Gunakan bahasa yang jelas dan tegas.
  • Terstruktur: Atur petunjuk secara logis menggunakan daftar bernombor atau poin-poin yang diawali tanda titik untuk memudahkan pembacaan.

Analisis kualitas penguraian

Tabel ini mencantumkan hasil dari skenario yang dijalankan pelanggan menggunakan Vertex AI RAG Engine. 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 mengaitkan kolom dan header dengan benar dalam tabel besar untuk menjawab pertanyaan tertentu.
Menafsirkan diagram alir Parser LLM dapat mengikuti logika diagram alir dan mengekstrak urutan tindakan yang benar dan informasi yang sesuai.
Mengekstrak data dari grafik Parser LLM dapat menafsirkan berbagai jenis grafik, seperti diagram garis, dan mengekstrak titik data tertentu berdasarkan kueri.
Menangkap hubungan antara judul dan teks Parser LLM, yang dipandu oleh perintah, memperhatikan struktur judul dan dapat mengambil semua informasi relevan yang terkait dengan topik atau bagian tertentu.
Potensi untuk mengatasi batasan penyematan dengan rekayasa perintah Meskipun awalnya terhambat oleh batasan model penyematan 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 menjadi tantangan bagi model penyematan saja.

Parser LLM meningkatkan kemampuan LLM untuk memahami dan memahami konteks dalam dokumen, yang 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 basis pengetahuannya untuk menemukan informasi yang relevan dengan kueri. Untuk contoh pengambilan file RAG dari korpus berdasarkan teks kueri, lihat Kueri pengambilan.

Langkah berikutnya