Mesin RAG Vertex AI adalah komponen dari platform Vertex AI, yang memfasilitasi Retrieval-Augmented Generation (RAG). RAG Engine memungkinkan Model Bahasa Besar (LLM) mengakses dan menggabungkan data dari sumber pengetahuan eksternal, seperti dokumen dan database. Dengan menggunakan RAG, LLM dapat menghasilkan respons LLM yang lebih akurat dan informatif.
Contoh sintaksis
Bagian ini memberikan sintaksis untuk membuat korpus RAG.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragCorpora\ -d '{ "display_name" : "...", "description": "..." }'
Python
corpus = rag.create_corpus(display_name=..., description=...) print(corpus)
Daftar parameter
Bagian ini mencantumkan hal berikut:
Parameter | Contoh |
---|---|
Lihat Parameter pengelolaan korpus. | Lihat Contoh pengelolaan korpus. |
Lihat Parameter pengelolaan file. | Lihat Contoh pengelolaan file. |
Parameter pengelolaan korpus
Untuk informasi tentang korpus RAG, lihat Pengelolaan korpus.
Membuat korpus RAG
Tabel ini mencantumkan parameter yang digunakan untuk membuat korpus RAG.
Permintaan Isi
Parameter | |
---|---|
|
Wajib: Nama tampilan korpus RAG. |
|
Opsional: Deskripsi korpus RAG. |
|
Opsional: Tidak dapat diubah: Konfigurasi untuk DB Vektor. |
|
Opsional: Tidak dapat diubah: Konfigurasi untuk Vertex AI Search. |
RagVectorDbConfig
Parameter | |
---|---|
|
Jika tidak ada database vektor yang ditentukan, |
|
Menentukan instance Weaviate Anda. |
|
Endpoint HTTP instance Weaviate. Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong dalam
panggilan API |
|
Koleksi Weaviate yang dipetakan oleh korpus RAG. Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong dalam
panggilan API |
|
Menentukan instance Pinecone Anda. |
|
Ini adalah nama yang digunakan untuk membuat indeks Pinecone yang digunakan dengan korpus RAG. Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong dalam
panggilan API |
|
Menentukan instance Vertex AI Feature Store Anda. |
|
Format: Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong dalam
panggilan API |
|
Menentukan instance Vertex Vector Search Anda. |
|
Ini adalah nama resource indeks Penelusuran Vektor yang digunakan dengan korpus RAG. Format: Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong dalam
panggilan API |
|
Ini adalah nama resource endpoint indeks Vector Search yang digunakan dengan korpus RAG. Format: Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong dalam
panggilan API |
|
Ini adalah nama resource lengkap secret yang disimpan di Secret Manager, yang berisi kunci API Weaviate atau Pinecone yang bergantung pada pilihan database vektor Anda. Format: Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong dalam
panggilan API Setelah menentukan kolom ini, Anda dapat mengimpor data ke dalam korpus RAG. |
|
Opsional: Tidak dapat diubah. Model penyematan yang akan digunakan untuk korpus RAG. Nilai ini tidak dapat diubah setelah ditetapkan. Jika Anda membiarkannya kosong, kami akan menggunakan text-embedding-004 (https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/text-embeddings-api) sebagai model penyematan. |
Memperbarui korpus RAG
Tabel ini mencantumkan parameter yang digunakan untuk memperbarui korpus RAG.
Permintaan Isi
Parameter | |
---|---|
|
Opsional: Nama tampilan korpus RAG. |
|
Opsional: Deskripsi korpus RAG. |
|
Endpoint HTTP instance Weaviate. Jika |
|
Koleksi Weaviate yang dipetakan oleh korpus RAG. Jika |
|
Ini adalah nama yang digunakan untuk membuat indeks Pinecone yang digunakan dengan korpus RAG. Jika |
|
Format: Jika |
|
Ini adalah nama resource indeks Penelusuran Vektor yang digunakan dengan korpus RAG. Format: Jika |
|
Ini adalah nama resource endpoint indeks Vector Search yang digunakan dengan korpus RAG. Format: Jika |
|
Nama resource lengkap secret yang disimpan di Secret Manager, yang berisi kunci API Weaviate atau Pinecone, bergantung pada pilihan database vektor Anda. Format: |
Mencantumkan korpus RAG
Tabel ini mencantumkan parameter yang digunakan untuk mencantumkan korpus RAG.
Parameter | |
---|---|
|
Opsional: Ukuran halaman daftar standar. |
|
Opsional: Token halaman daftar standar. Biasanya diperoleh dari |
Mendapatkan korpus RAG
Tabel ini mencantumkan parameter yang digunakan untuk mendapatkan korpus RAG.
Parameter | |
---|---|
|
Nama resource |
Menghapus korpus RAG
Tabel ini mencantumkan parameter yang digunakan untuk menghapus korpus RAG.
Parameter | |
---|---|
|
Nama resource |
Parameter pengelolaan file
Untuk informasi tentang file RAG, lihat Pengelolaan file.
Mengupload file RAG
Tabel ini mencantumkan parameter yang digunakan untuk mengupload file RAG.
Permintaan Isi
Parameter | |
---|---|
|
Nama resource |
|
Wajib: File yang akan diupload. |
|
Wajib: Konfigurasi untuk |
RagFile |
|
---|---|
|
Wajib: Nama tampilan file RAG. |
|
Opsional: Deskripsi file RAG. |
UploadRagFileConfig |
|
---|---|
|
Jumlah token yang dimiliki setiap bagian. |
|
Tumpang-tindih antar-potongan. |
Mengimpor file RAG
Tabel ini mencantumkan parameter yang digunakan untuk mengimpor file RAG.
Parameter | |
---|---|
|
Wajib: Nama resource Format: |
|
Lokasi Cloud Storage. Mendukung pengimporan setiap file serta seluruh direktori Cloud Storage. |
|
Cloud Storage URI yang berisi file upload. |
|
Lokasi Google Drive. Mendukung pengimporan file individual serta folder Google Drive. |
|
Channel Slack tempat file diupload. |
|
Kueri Jira tempat file diupload. |
|
Sumber SharePoint tempat file diupload. |
|
Jumlah token yang dimiliki setiap bagian. |
|
Tumpang-tindih antar-potongan. |
|
Opsional: Menentukan konfigurasi penguraian untuk Jika kolom ini tidak ditetapkan, RAG akan menggunakan parser default. |
|
Opsional: Jumlah maksimum kueri per menit yang diizinkan untuk dibuat oleh tugas ini ke model penyematan yang ditentukan di korpus. Nilai ini khusus untuk tugas ini dan tidak dibagikan di seluruh tugas impor lainnya. Lihat halaman Kuota di project untuk menetapkan nilai yang sesuai. Jika tidak ditentukan, nilai default 1.000 QPM akan digunakan. |
GoogleDriveSource |
|
---|---|
|
Wajib: ID resource Google Drive. |
|
Wajib: Jenis resource Google Drive. |
SlackSource |
|
---|---|
|
Berulang: Informasi saluran Slack, termasuk ID dan rentang waktu yang akan diimpor. |
|
Wajib: ID channel Slack. |
|
Opsional: Stempel waktu awal untuk pesan yang akan diimpor. |
|
Opsional: Stempel waktu akhir untuk pesan yang akan diimpor. |
|
Wajib: Nama resource lengkap secret yang disimpan di Secret Manager,
yang berisi token akses saluran Slack yang memiliki akses ke ID saluran Slack.
Format: |
JiraSource |
|
---|---|
|
Berulang: Daftar project Jira yang akan diimpor secara keseluruhan. |
|
Berulang: Daftar kueri Jira kustom yang akan diimpor. Untuk informasi tentang JQL (Jira Query Language), lihat
|
|
Wajib: Alamat email Jira. |
|
Wajib: URI server Jira. |
|
Wajib: Nama resource lengkap secret yang disimpan di Secret Manager, yang berisi kunci API Jira yang memiliki akses ke ID saluran Slack.
Format: |
SharePointSources |
|
---|---|
|
Jalur folder SharePoint tempat file akan didownload. |
|
ID folder SharePoint tempat file akan didownload. |
|
Nama drive tempat download. |
|
ID drive tempat file akan didownload. |
|
ID Aplikasi untuk aplikasi yang terdaftar di Portal Microsoft Azure.
|
|
Wajib: Nama resource lengkap secret yang disimpan di Secret Manager, yang berisi secret aplikasi untuk aplikasi yang terdaftar di Azure. Format: |
|
ID unik Instance Azure Active Directory. |
|
Nama situs SharePoint tempat file akan didownload. Ini dapat berupa nama situs atau ID situs. |
RagFileParsingConfig |
|
---|---|
|
Parser Tata Letak yang akan digunakan untuk |
|
Nama resource lengkap pemroses Document AI atau versi pemroses. Format:
|
|
Jumlah maksimum permintaan yang diizinkan untuk dilakukan tugas ke pemroses Document AI per menit. Lihat https://cloud.google.com/document-ai/quotas dan halaman Kuota untuk project Anda guna menetapkan nilai yang sesuai di sini. Jika tidak ditentukan, nilai default 120 QPM akan digunakan. |
Mendapatkan file RAG
Tabel ini mencantumkan parameter yang digunakan untuk mendapatkan file RAG.
Parameter | |
---|---|
|
Nama resource |
Menghapus file RAG
Tabel ini mencantumkan parameter yang digunakan untuk menghapus file RAG.
Parameter | |
---|---|
|
Nama resource |
Pengambilan dan prediksi
Bagian ini mencantumkan parameter pengambilan dan prediksi.
Parameter pengambilan
Tabel ini mencantumkan parameter untuk RetrieveContexts
API.
Parameter | |
---|---|
|
Wajib: Nama resource Lokasi untuk mengambil Format: |
|
Sumber data untuk Vertex RagStore. |
|
Wajib: Kueri pengambilan RAG tunggal. |
VertexRagStore
VertexRagStore |
|
---|---|
|
daftar: Representasi sumber RAG. Fungsi ini dapat digunakan untuk menentukan korpus saja atau |
|
Opsional: Nama resource Format: |
|
daftar: Daftar resource Format: |
RagQuery |
|
---|---|
|
Kueri dalam format teks untuk mendapatkan konteks yang relevan. |
|
Opsional: Konfigurasi pengambilan untuk kueri. |
RagRetrievalConfig |
|
---|---|
|
Opsional: Jumlah konteks yang akan diambil. |
|
Opsional: Nilai alfa mengontrol bobot antara hasil penelusuran vektor rapat dan jarang. Rentangnya adalah [0, 1], dengan 0 berarti hanya penelusuran vektor jarang dan 1 berarti hanya penelusuran vektor rapat. Nilai defaultnya adalah 0,5, yang menyeimbangkan penelusuran vektor jarang dan padat secara merata. Penelusuran Hibrida hanya tersedia untuk Weaviate. |
|
Hanya menampilkan konteks dengan jarak vektor yang lebih kecil dari nilai minimum. |
|
Hanya menampilkan konteks dengan kesamaan vektor yang lebih besar dari nilai minimum. |
|
Opsional: Nama model layanan peringkat. Contoh: |
|
Opsional: Nama model yang digunakan untuk penentuan peringkat. Contoh: |
Parameter prediksi
Tabel ini mencantumkan parameter prediksi.
GenerateContentRequest |
|
---|---|
|
Tetapkan untuk menggunakan sumber data yang didukung oleh penyimpanan RAG Vertex AI. |
Lihat VertexRagStore untuk mengetahui detailnya.
Contoh pengelolaan korpus
Bagian ini memberikan contoh cara menggunakan API untuk mengelola korpus RAG Anda.
Membuat contoh korpus RAG
Contoh kode ini menunjukkan cara membuat korpus RAG.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- CORPUS_DISPLAY_NAME: Nama tampilan
RagCorpus
. - CORPUS_DESCRIPTION: Deskripsi
RagCorpus
.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora
Isi JSON permintaan:
{ "display_name" : "CORPUS_DISPLAY_NAME", "description": "CORPUS_DESCRIPTION", }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora" | Select-Object -Expand Content
Contoh berikut menunjukkan cara membuat korpus RAG menggunakan REST API.
LOCATION=YOUR_LOCATION //e.g., us-central1
ENDPOINT=${LOCATION}-aiplatform.googleapis.com
PROJECT_ID=YOUR_PROJECT_ID
// Corpus display name
// Such as "my_test_corpus"
CORPUS_DISPLAY_NAME=YOUR_CORPUS_DISPLAY_NAME
// CreateRagCorpus
// Input: ENDPOINT, PROJECT_ID, CORPUS_DISPLAY_NAME
// Output: CreateRagCorpusOperationMetadata
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragCorpora \
-d '{
"display_name" : '\""${CORPUS_DISPLAY_NAME}"\"'
}'
// Poll the operation status.
// The last component of the RagCorpus "name" field is the server-generated
// rag_corpus_id: (only Bold part)
// projects/${PROJECT_ID}/locations/${LOCATION}/ragCorpora/7454583283205013504.
OPERATION_ID=OPERATION_ID
poll_op_wait ${OPERATION_ID}
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.
Memperbarui contoh korpus RAG
Anda dapat memperbarui korpus RAG dengan nama tampilan, deskripsi, dan konfigurasi database vektor baru. Namun, Anda tidak dapat mengubah parameter berikut dalam korpus RAG:
- Jenis database vektor. Misalnya, Anda tidak dapat mengubah database vektor dari Weaviate ke Vertex AI Feature Store.
- Jika menggunakan opsi database terkelola, Anda tidak dapat memperbarui konfigurasi database vektor.
Contoh ini menunjukkan cara memperbarui korpus RAG.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- CORPUS_ID: ID korpus korpus RAG Anda.
- CORPUS_DISPLAY_NAME: Nama tampilan
RagCorpus
. - CORPUS_DESCRIPTION: Deskripsi
RagCorpus
. - INDEX_NAME: Nama resource
Vector Search Index
. Format:projects/{project}/locations/{location}/indexes/{index}
- INDEX_ENDPOINT_NAME: Nama resource
Vector Search Index Endpoint
. Format:projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}
Metode HTTP dan URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID
Isi JSON permintaan:
{ "display_name" : "CORPUS_DISPLAY_NAME", "description": "CORPUS_DESCRIPTION", "rag_vector_db_config": { "vertex_vector_search": { "index": "INDEX_NAME", "index_endpoint": "INDEX_ENDPOINT_NAME", } } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID" | Select-Object -Expand Content
Contoh daftar korpus RAG
Contoh kode ini menunjukkan cara mencantumkan semua korpus RAG.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- PAGE_SIZE: Ukuran halaman daftar standar. Anda dapat menyesuaikan jumlah
RagCorpora
yang akan ditampilkan per halaman dengan memperbarui parameterpage_size
. - PAGE_TOKEN: Token halaman daftar standar. Biasanya diperoleh menggunakan
ListRagCorporaResponse.next_page_token
dari panggilanVertexRagDataService.ListRagCorpora
sebelumnya.
Metode HTTP dan URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
RagCorpora
di bagian PROJECT_ID
yang diberikan.
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.
Mendapatkan contoh korpus RAG
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- RAG_CORPUS_ID: ID resource
RagCorpus
.
Metode HTTP dan URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
RagCorpus
.
Perintah get
dan list
digunakan dalam contoh untuk menunjukkan cara
RagCorpus
menggunakan kolom rag_embedding_model_config
dalam vector_db_config
, yang mengarah ke
model penyematan yang telah Anda pilih.
// Server-generated rag_corpus_id in CreateRagCorpus
RAG_CORPUS_ID=RAG_CORPUS_ID
// GetRagCorpus
// Input: ENDPOINT, PROJECT_ID, RAG_CORPUS_ID
// Output: RagCorpus
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragCorpora/${RAG_CORPUS_ID}
// ListRagCorpora
curl -sS -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragCorpora"
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.
Menghapus contoh korpus RAG
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- RAG_CORPUS_ID: ID resource
RagCorpus
.
Metode HTTP dan URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
DeleteOperationMetadata
.
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.
Contoh pengelolaan file
Bagian ini memberikan contoh cara menggunakan API untuk mengelola file RAG.
Mengupload contoh file RAG
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut: PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
RAG_CORPUS_ID: The corpus ID of your RAG corpus.
LOCAL_FILE_PATH: The local path to the file to be uploaded.
DISPLAY_NAME: The display name of the RAG file.
DESCRIPTION: The description of the RAG file.
Untuk mengirim permintaan, gunakan perintah berikut:
curl -X POST \
-H "X-Goog-Upload-Protocol: multipart" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-F metadata="{'rag_file': {'display_name':' DISPLAY_NAME', 'description':'DESCRIPTION'}}" \
-F file=@LOCAL_FILE_PATH \
"https://LOCATION-aiplatform.googleapis.com/upload/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload"
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.
Contoh impor file RAG
File dan folder dapat diimpor dari Drive atau
Cloud Storage. Anda dapat menggunakan response.metadata
untuk melihat kegagalan
sebagian, waktu permintaan, dan waktu respons di objek response
SDK.
response.skipped_rag_files_count
mengacu pada jumlah file yang
dilewati selama impor. File akan dilewati jika kondisi berikut
terpenuhi:
- File telah diimpor.
- File belum berubah.
- Konfigurasi pengelompokan untuk file belum berubah.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- RAG_CORPUS_ID: ID resource
RagCorpus
. - GCS_URIS: Daftar lokasi Cloud Storage. Contoh:
gs://my-bucket1, gs://my-bucket2
. - CHUNK_SIZE: Opsional: Jumlah token yang harus dimiliki setiap bagian.
- CHUNK_OVERLAP: Opsional: Jumlah token yang tumpang-tindih di antara bagian.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import
Isi JSON permintaan:
{ "import_rag_files_config": { "gcs_source": { "uris": "GCS_URIS" }, "rag_file_chunking_config": { "chunk_size": CHUNK_SIZE, "chunk_overlap": CHUNK_OVERLAP } } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import" | Select-Object -Expand Content
ImportRagFilesOperationMetadata
.
Contoh berikut menunjukkan cara mengimpor file dari Cloud Storage. Gunakan kolom kontrol max_embedding_requests_per_min
untuk membatasi kecepatan RAG Engine memanggil model penyematan selama
proses pengindeksan ImportRagFiles
. Kolom ini memiliki nilai default 1000
panggilan
per menit.
// Cloud Storage bucket/file location.
// Such as "gs://rag-e2e-test/"
GCS_URIS=YOUR_GCS_LOCATION
// Enter the QPM rate to limit RAGs access to your embedding model
// Example: 1000
EMBEDDING_MODEL_QPM_RATE=MAX_EMBEDDING_REQUESTS_PER_MIN_LIMIT
// ImportRagFiles
// Import a single Cloud Storage file or all files in a Cloud Storage bucket.
// Input: ENDPOINT, PROJECT_ID, RAG_CORPUS_ID, GCS_URIS
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragCorpora/${RAG_CORPUS_ID}/ragFiles:import \
-d '{
"import_rag_files_config": {
"gcs_source": {
"uris": '\""${GCS_URIS}"\"'
},
"rag_file_chunking_config": {
"chunk_size": 512
},
"max_embedding_requests_per_min": '"${EMBEDDING_MODEL_QPM_RATE}"'
}
}'
// Poll the operation status.
// The response contains the number of files imported.
OPERATION_ID=OPERATION_ID
poll_op_wait ${OPERATION_ID}
Contoh berikut menunjukkan cara mengimpor file dari Drive. Gunakan kolom kontrol max_embedding_requests_per_min
untuk
membatasi kecepatan RAG Engine memanggil model penyematan selama
proses pengindeksan ImportRagFiles
. Kolom ini memiliki nilai default 1000
panggilan
per menit.
// Google Drive folder location.
FOLDER_RESOURCE_ID=YOUR_GOOGLE_DRIVE_FOLDER_RESOURCE_ID
// Enter the QPM rate to limit RAGs access to your embedding model
// Example: 1000
EMBEDDING_MODEL_QPM_RATE=MAX_EMBEDDING_REQUESTS_PER_MIN_LIMIT
// ImportRagFiles
// Import all files in a Google Drive folder.
// Input: ENDPOINT, PROJECT_ID, RAG_CORPUS_ID, FOLDER_RESOURCE_ID
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragCorpora/${RAG_CORPUS_ID}/ragFiles:import \
-d '{
"import_rag_files_config": {
"google_drive_source": {
"resource_ids": {
"resource_id": '\""${FOLDER_RESOURCE_ID}"\"',
"resource_type": "RESOURCE_TYPE_FOLDER"
}
},
"max_embedding_requests_per_min": '"${EMBEDDING_MODEL_QPM_RATE}"'
}
}'
// Poll the operation status.
// The response contains the number of files imported.
OPERATION_ID=OPERATION_ID
poll_op_wait ${OPERATION_ID}
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.
Contoh file RAG daftar
Contoh kode ini menunjukkan cara mencantumkan file RAG.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- RAG_CORPUS_ID: ID resource
RagCorpus
. - PAGE_SIZE: Ukuran halaman daftar standar. Anda dapat menyesuaikan jumlah
RagFiles
yang akan ditampilkan per halaman dengan memperbarui parameterpage_size
. - PAGE_TOKEN: Token halaman daftar standar. Biasanya diperoleh menggunakan
ListRagFilesResponse.next_page_token
dari panggilanVertexRagDataService.ListRagFiles
sebelumnya.
Metode HTTP dan URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
RagFiles
di bagian RAG_CORPUS_ID
yang diberikan.
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.
Mendapatkan contoh file RAG
Contoh kode ini menunjukkan cara mendapatkan file RAG.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- RAG_CORPUS_ID: ID resource
RagCorpus
. - RAG_FILE_ID: ID resource
RagFile
.
Metode HTTP dan URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
RagFile
.
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.
Menghapus contoh file RAG
Contoh kode ini menunjukkan cara menghapus file RAG.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- RAG_CORPUS_ID: ID resource
RagCorpus
. - RAG_FILE_ID: ID resource
RagFile
. Format:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file_id}
.
Metode HTTP dan URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
DeleteOperationMetadata
.
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.
Kueri pengambilan
Saat pengguna mengajukan pertanyaan atau memberikan perintah, komponen pengambilan di RAG akan menelusuri pusat informasinya untuk menemukan informasi yang relevan dengan kueri.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region untuk memproses permintaan.
- PROJECT_ID: Project ID Anda.
- RAG_CORPUS_RESOURCE: Nama resource
RagCorpus
. Format:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - VECTOR_DISTANCE_THRESHOLD: Hanya konteks dengan jarak vektor yang lebih kecil dari nilai minimum yang ditampilkan.
- TEXT: Teks kueri untuk mendapatkan konteks yang relevan.
- SIMILARITY_TOP_K: Jumlah konteks teratas yang akan diambil.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts
Isi JSON permintaan:
{ "vertex_rag_store": { "rag_resources": { "rag_corpus": "RAG_CORPUS_RESOURCE" }, "vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD }, "query": { "text": "TEXT", "similarity_top_k": SIMILARITY_TOP_K } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" | Select-Object -Expand Content
RagFiles
terkait.
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.
Generation
LLM menghasilkan respons yang berisi rujukan menggunakan konteks yang diambil.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- MODEL_ID: Model LLM untuk pembuatan konten. Contoh:
gemini-1.5-pro-002
- GENERATION_METHOD: Metode LLM untuk pembuatan konten. Opsi:
generateContent
,streamGenerateContent
- INPUT_PROMPT: Teks yang dikirim ke LLM untuk pembuatan konten. Coba gunakan perintah yang relevan dengan File rag yang diupload.
- RAG_CORPUS_RESOURCE: Nama resource
RagCorpus
. Format:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - SIMILARITY_TOP_K: Opsional: Jumlah konteks teratas yang akan diambil.
- VECTOR_DISTANCE_THRESHOLD: Opsional: Konteks dengan jarak vektor yang lebih kecil dari nilai minimum akan ditampilkan.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD
Isi JSON permintaan:
{ "contents": { "role": "user", "parts": { "text": "INPUT_PROMPT" } }, "tools": { "retrieval": { "disable_attribution": false, "vertex_rag_store": { "rag_resources": { "rag_corpus": "RAG_CORPUS_RESOURCE" }, "similarity_top_k": SIMILARITY_TOP_K, "vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD } } } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD" | Select-Object -Expand Content
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.
Langkah selanjutnya
- Untuk mempelajari lebih lanjut model pembuatan yang didukung, lihat Model AI generatif yang mendukung RAG.
- Untuk mempelajari lebih lanjut model penyematan yang didukung, lihat Model penyematan.
- Untuk mempelajari model terbuka lebih lanjut, lihat Model terbuka.
- Untuk mempelajari RAG Engine lebih lanjut, lihat Ringkasan RAG Engine.