Halaman ini menjelaskan cara menggunakan parser LLM Vertex AI RAG Engine.
Pengantar
Mesin RAG Vertex AI menggunakan LLM untuk mengurai dokumen. LLM memiliki kemampuan untuk memproses dokumen secara efektif dengan cara berikut:
- Memahami dan menafsirkan konten semantik dalam berbagai format.
- Mengambil potongan dokumen yang relevan.
- Mengekstrak informasi penting dari dokumen.
- Mengidentifikasi bagian yang relevan dalam dokumen.
- Meringkas dokumen kompleks secara akurat.
- Memahami dan berinteraksi dengan visual.
- Mengekstrak data dari diagram dan peta.
- Mendeskripsikan gambar.
- Memahami hubungan antara diagram dan teks.
- Memberikan respons yang lebih akurat dan kaya konteks.
Kemampuan Vertex AI RAG Engine secara signifikan meningkatkan kualitas respons yang dihasilkan.
Model yang didukung
Parser LLM hanya mendukung model Gemini. Jika Anda telah mengaktifkan RAG API, 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 kuota yang berlaku, lihat Meminta kuota.
Parser LLM memanggil model Gemini untuk mengurai dokumen Anda. Tindakan ini akan menimbulkan biaya tambahan, yang ditagihkan 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. Rata-rata halaman PDF 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 parsing, 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 project Google Cloud Anda.
- LOCATION: Region tempat permintaan Anda diproses.
- RAG_CORPUS_RESOURCE: ID korpus Anda.
- GCS_URI: Cloud Storage URI 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
parsing.
Format:
projects/{project_id}/locations/{location}/publishers/google/models/{model_id}
- CUSTOM_PARSING_PROMPT: Opsional: Perintah kustom yang dikonfigurasi oleh pelanggan agar digunakan parser LLM untuk mengurai 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 frekuensi 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 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,
)
Penulisan Perintah
Parser LLM Vertex AI RAG Engine menggunakan perintah yang telah ditentukan sebelumnya dan disesuaikan untuk mem-parsing 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 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 membuat perintah yang dapat digunakan Vertex AI RAG Engine untuk mengurai dokumen Anda:
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 utama dari file sample.txt. |
Jelaskan cara Anda ingin LLM membuat 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 apa 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. |
Tandai apa yang tidak boleh dilakukan LLM. | [Cantumkan tindakan yang harus dihindari, seperti analisis, interpretasi, meringkas, menyimpulkan, atau memberikan pendapat]. Ekstrak hanya apa yang dinyatakan secara eksplisit dalam dokumen. | Tidak memberikan pendapat. Ekstrak hanya apa yang dinyatakan secara eksplisit dalam dokumen. |
Panduan umum
Ikuti panduan berikut untuk menulis perintah yang akan dikirim ke parser LLM.
- Spesifik: Tentukan tugas dan jenis informasi yang akan diekstrak dengan jelas.
- Mendetail: Memberikan petunjuk mendetail tentang format output, atribusi sumber, dan penanganan berbagai struktur data.
- Membatasi (Constraining): Nyatakan secara eksplisit apa yang tidak boleh dilakukan AI, seperti analisis atau interpretasi.
- Jelas: Gunakan bahasa yang jelas dan terarah.
- Terstruktur: Susun petunjuk secara logis menggunakan daftar bernomor atau poin-poin agar mudah dibaca.
Analisis kualitas parsing
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 pada satu slide ke informasi mendetail yang disajikan pada 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 alir | Parser LLM dapat mengikuti logika diagram alur dan mengekstrak urutan tindakan yang benar serta informasi yang sesuai. | |
Mengekstrak data dari grafik | Parser LLM dapat menafsirkan berbagai jenis grafik, seperti grafik garis, dan mengekstrak titik data tertentu berdasarkan kueri. | |
Menangkap hubungan antara judul dan teks | Parser LLM, yang dipandu oleh perintah, memperhatikan struktur heading 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 sulit dilakukan oleh model penyematan saja. |
Parser LLM meningkatkan kemampuan LLM untuk memahami dan bernalar tentang 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 melihat contoh pengambilan file RAG dari korpus berdasarkan teks kueri, lihat Kueri pengambilan.
Langkah berikutnya
- Untuk mempelajari Vertex AI RAG Engine lebih lanjut, lihat Ringkasan Vertex AI RAG Engine.
- Untuk mempelajari lebih lanjut Vertex AI RAG Engine, lihat Vertex AI RAG Engine API.