LlamaIndex adalah framework data untuk mengembangkan aplikasi model bahasa besar (LLM) yang didukung konteks. Pengayaan konteks terjadi saat Anda menerapkan LLM ke data. Tindakan ini akan mengimplementasikan pembuatan retrieval-augmented (RAG).
Masalah umum dengan LLM adalah mereka tidak memahami pengetahuan pribadi, yaitu data organisasi Anda. Dengan LlamaIndex di Vertex AI untuk RAG, Anda dapat memperkaya konteks LLM dengan informasi pribadi tambahan, karena model tersebut dapat mengurangi halusinasi dan menjawab pertanyaan dengan lebih akurat.
Dengan menggabungkan sumber pengetahuan tambahan dan pengetahuan yang sudah dimiliki LLM, konteks akan tersedia dengan lebih baik. Konteks yang lebih baik beserta kueri akan meningkatkan kualitas respons LLM.
Konsep berikut adalah kunci untuk memahami LlamaIndex di Vertex AI. Konsep ini tercantum dalam urutan proses pembuatan yang ditingkatkan (RAG).
Penyerapan data: Mengambil data dari berbagai sumber data. Misalnya, file lokal, Cloud Storage, dan Google Drive.
Transformasi data: Konversi data dalam persiapan untuk pengindeksan. Misalnya, data dibagi menjadi beberapa bagian.
Embedding: Representasi numerik dari kata atau potongan teks. Angka-angka ini menangkap makna semantik dan konteks teks. Kata atau teks yang serupa atau terkait cenderung memiliki embedding yang serupa, yang berarti kata atau teks tersebut akan berdekatan dalam ruang vektor berdimensi tinggi.
Pengindeksan data: LlamaIndex di Vertex AI untuk RAG membuat indeks yang disebut korpus. Indeks menyusun pusat informasi agar dioptimalkan untuk penelusuran. Misalnya, indeks seperti daftar isi mendetail untuk buku referensi yang sangat besar.
Pengambilan: Saat pengguna mengajukan pertanyaan atau memberikan perintah, komponen pengambilan di LlamaIndex pada Vertex AI untuk RAG menelusuri basis pengetahuannya untuk menemukan informasi yang relevan dengan kueri.
Generasi: Informasi yang diambil menjadi konteks yang ditambahkan ke kueri pengguna asli sebagai panduan bagi model AI generatif untuk menghasilkan respons yang dasar dan relevan secara faktual.
Halaman ini membantu Anda mulai menggunakan LlamaIndex di Vertex AI untuk RAG dan memberikan contoh Python untuk menunjukkan cara menggunakan RAG API.
Untuk informasi tentang batas ukuran file, lihat Jenis dokumen yang didukung. Untuk mengetahui informasi tentang kuota terkait LlamaIndex di Vertex AI untuk RAG, lihat LlamaIndex di Vertex AI untuk kuota RAG. Untuk mengetahui informasi tentang cara menyesuaikan parameter, lihat Parameter pengambilan.
Menjalankan LlamaIndex di Vertex AI untuk RAG menggunakan Vertex AI SDK
Untuk menggunakan LlamaIndex pada Vertex AI untuk RAG, lakukan langkah berikut:
Jalankan perintah ini di konsol Google Cloud untuk menyiapkan project Anda.
gcloud config set {project}
Jalankan perintah ini untuk mengizinkan login Anda.
gcloud auth application-default login
Salin dan tempel kode contoh ini ke Konsol Google Cloud untuk menjalankan LlamaIndex di Vertex AI.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Python API.
Model pembuatan yang didukung
Model berikut dan versinya yang mendukung LlamaIndex di Vertex AI meliputi:
Model | Versi |
---|---|
Flash Gemini 1.5 | gemini-1.5-flash-001 |
Gemini 1.5 Pro | gemini-1.5-pro-001 |
Gemini 1.0 Pro | gemini-1.0-pro-001 gemini-1.0-pro-002 |
Gemini 1.0 Pro Vision | gemini-1.0-pro-vision-001 |
Gemini | gemini-experimental |
Model penyematan yang didukung
Versi model berikut adalah model Google yang didukung:
textembedding-gecko@003
textembedding-gecko-multilingual@001
text-embedding-004
text-multilingual-embedding-002
Versi model berikut didukung model Google yang telah disesuaikan:
textembedding-gecko@003
textembedding-gecko-multilingual@001
text-embedding-004
text-multilingual-embedding-002
textembedding-gecko@002
textembedding-gecko@001
Jika konfigurasi tidak ditentukan, perilaku defaultnya adalah menggunakan
text-embedding-004
untuk pilihan penyematan pada RagCorpus
. Untuk
mengetahui informasi selengkapnya tentang menyesuaikan model penyematan, lihat
Menyesuaikan penyematan teks.
Jenis dokumen yang didukung
Dokumen khusus teks didukung, yang mencakup jenis file berikut dengan batas ukuran file-nya:
Jenis file | Batas ukuran file |
---|---|
Dokumen Google | 10 MB saat diekspor dari Google Workspace |
Google gambar | 10 MB saat diekspor dari Google Workspace |
Google Slide | 10 MB saat diekspor dari Google Workspace |
File HTML | 10 MB |
File JSON | 1 MB |
{i>File<i} Markdown | 10 MB |
Slide Microsoft PowerPoint (file PPTX) | 10 MB |
Dokumen Microsoft Word (file DOCX) | 10 MB |
{i>File<i} PDF | 50 MB |
File teks | 10 MB |
Penggunaan LlamaIndex di Vertex AI untuk RAG dengan jenis dokumen lain dapat dilakukan, tetapi dapat menghasilkan respons yang berkualitas lebih rendah.
Sumber data yang didukung
Ada tiga sumber data yang didukung, termasuk:
Upload file tunggal menggunakan
upload_file
(hingga 25 MB), yang merupakan panggilan sinkron.Impor file dari Cloud Storage.
Impor direktori dari Google Drive.
Akun layanan harus diberi izin yang benar untuk mengimpor file. Jika tidak, tidak ada file yang diimpor dan tidak ada pesan error yang ditampilkan. Untuk informasi selengkapnya tentang batas ukuran file, lihat Jenis dokumen yang didukung.
Untuk mengautentikasi dan memberikan izin, lakukan hal berikut:
- Buka halaman IAM project Google Cloud Anda.
- Pilih Sertakan pemberian peran yang disediakan Google.
- Telusuri akun layanan Vertex AI RAG Data Service Agent.
- Klik Bagikan di folder drive, lalu bagikan ke akun layanan.
- Beri
Viewer
izin ke akun layanan di folder atau file Google Drive Anda. ID resource Google Drive dapat ditemukan di URL web.
Untuk informasi selengkapnya, lihat referensi RAG API.
Transformasi data yang didukung
Setelah dokumen ditransfer, LlamaIndex di Vertex AI untuk RAG akan menjalankan serangkaian transformasi untuk mendapatkan kualitas terbaik, dan terdapat parameter yang dapat dikontrol oleh developer untuk kasus penggunaannya.
Parameter ini mencakup:
Parameter | Deskripsi |
---|---|
chunk_size |
Saat dokumen diserap ke dalam indeks, dokumen akan dibagi menjadi beberapa bagian. Parameter chunk_size (dalam token) menentukan ukuran potongan. Ukuran {i>default<i} untuk potongan adalah 1.024 token. |
chunk_overlap |
Secara {i>default<i}, dokumen dibagi menjadi potongan-potongan dengan sejumlah tumpang tindih tertentu untuk meningkatkan relevansi dan kualitas pengambilan. Tumpang tindih potongan {i>default<i} adalah 200 token. |
Ukuran potongan yang lebih kecil berarti embeddingnya lebih tepat. Ukuran potongan yang lebih besar berarti embeddings mungkin lebih umum tetapi dapat melewatkan detail tertentu.
Misalnya, jika Anda mengonversi 200 kata, bukan 1.000 kata, menjadi array embedding dengan dimensi yang sama, Anda dapat kehilangan detailnya. Ini juga merupakan contoh yang bagus saat Anda mempertimbangkan batas panjang konteks model. Sebagian besar mungkin tidak cocok untuk model jendela kecil.
Parameter pengambilan
Tabel berikut menyertakan parameter pengambilan:
Parameter | Deskripsi |
---|---|
similarity_top_k |
Mengontrol jumlah maksimum konteks yang diambil. |
vector_distance_threshold |
Hanya konteks dengan jarak yang lebih kecil dari batas yang akan dipertimbangkan. |
Pengelolaan indeks
Korpus adalah kumpulan dokumen atau sumber informasi. Koleksi itu juga disebut sebagai indeks. Indeks ini kemudian dapat dikueri untuk mengambil konteks yang relevan untuk pembuatan LLM. Saat membuat indeks untuk pertama kalinya, proses ini mungkin memerlukan waktu tambahan. Untuk lebih banyak pembuatan indeks dalam project Google Cloud yang sama, prosesnya memerlukan waktu lebih sedikit.
Operasi indeks berikut didukung:
- Buat korpus: Buat indeks untuk mengimpor atau mengupload dokumen.
- Menghapus korpus: Hapus indeks.
- Mengambil detail korpus: Dapatkan metadata yang menjelaskan indeks.
- Mencantumkan korpora dalam project tertentu: Mencantumkan beberapa indeks dalam project tertentu.
Operasi serentak di korpora tidak didukung. Untuk informasi selengkapnya, lihat referensi RACI API.
Pengelolaan file
Operasi file berikut didukung:
- Upload file dari penyimpanan lokal ke dalam korpus: Upload file dengan informasi tambahan yang memberikan konteks pada LLM untuk menghasilkan respons yang lebih akurat.
- Menyerap file dari beberapa penyimpanan lain ke dalam korpus: Impor kumpulan file dari lokasi penyimpanan.
- Mengambil detail file: Mengambil konteks yang relevan untuk kueri tertentu dari indeks atau file tertentu dalam indeks.
- Buat daftar file dalam korpus: Membuat daftar file dalam indeks.
- Menghapus file dari korpus: Menghapus file dari indeks.
Untuk informasi selengkapnya, lihat referensi RAG API.
Langkah selanjutnya
- Pelajari lebih lanjut AI generatif di Vertex AI .
- Pelajari grounding dan kaitannya dengan LlamaIndex di Vertex AI untuk RAG.
- Pelajari Retrieval-Augmented Generation API lebih lanjut.
- Pelajari arsitektur RAG lebih lanjut. Lihat Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan Vertex AI .