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": "...", "rag_embedding_model_config": { "vertex_prediction_endpoint": { "endpoint": "..." } } }'
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.
Parameter | |
---|---|
|
Opsional: Nama tampilan korpus RAG. |
|
Opsional: Deskripsi korpus RAG. |
|
Opsional: Model penyematan yang akan digunakan untuk korpus RAG. |
|
Opsional: Endpoint HTTPS atau HTTP instance Weaviate. |
|
Opsional: Kumpulan Weaviate yang dipetakan oleh korpus RAG. |
|
Opsional:
Format: |
|
Opsional: Nama resource versi secret Secret Manager yang menyimpan kunci API. Format: |
|
Kolom ini membantu Anda menetapkan pilihan
database vektor yang ingin dikaitkan dengan korpus RAG, dan
harus ditetapkan selama panggilan API |
|
Ini adalah nama yang digunakan untuk
membuat indeks Pinecone yang digunakan dengan korpus RAG. Anda dapat menetapkan
nama selama panggilan |
|
Ini adalah nama resource lengkap secret yang disimpan di Secret Manager, yang berisi kunci API Pinecone Anda. Anda dapat menetapkan
nama selama panggilan |
|
Kolom ini membantu Anda menetapkan
pilihan database vektor yang ingin dikaitkan dengan korpus RAG, dan
harus ditetapkan selama panggilan API |
|
Ini adalah nama resource Penelusuran Vektor yang digunakan dengan korpus RAG. Anda dapat menetapkan nama selama panggilan |
|
Ini adalah nama resource endpoint indeks Penelusuran Vektor yang digunakan dengan korpus RAG. Anda dapat menetapkan nama selama panggilan |
Memperbarui korpus RAG
Tabel ini mencantumkan parameter yang digunakan untuk memperbarui korpus RAG.
Nama | Deskripsi |
---|---|
display_name |
Opsional: string Nama tampilan korpus RAG. |
description |
Opsional: string Tampilan korpus RAG. |
rag_vector_db_config.weaviate.http_endpoint |
Opsional: string Endpoint HTTPS atau HTTP instance Weaviate. |
rag_vector_db_config.weaviate.collection_name |
Opsional: string Koleksi Weaviate yang dipetakan oleh korpus RAG. |
rag_vector_db_config.vertex_feature_store.feature_view_resource_name |
Opsional: string Tampilan fitur Vertex AI Feature Store yang dipetakan oleh korpus RAG. Format: projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view} |
api_auth.api_key_config.api_key_secret_version |
Opsional: string Nama resource versi secret Secret Manager yang menyimpan kunci API. Format: projects/{project}/secrets/{secret}/versions/{version} |
|
Kolom ini membantu Anda menetapkan pilihan
database vektor yang ingin dikaitkan dengan korpus RAG, dan
harus ditetapkan selama panggilan API |
|
Ini adalah nama yang digunakan untuk
membuat indeks Pinecone yang digunakan dengan korpus RAG. Anda dapat menetapkan
nama selama panggilan |
|
Ini adalah nama resource lengkap secret yang disimpan di Secret Manager, yang berisi kunci API Pinecone Anda. Anda dapat menetapkan
nama selama panggilan |
|
Kolom ini membantu Anda menetapkan
pilihan database vektor yang ingin dikaitkan dengan korpus RAG, dan
harus ditetapkan selama panggilan API |
|
Ini adalah nama resource Penelusuran Vektor yang digunakan dengan korpus RAG. Anda dapat menetapkan nama selama panggilan |
|
Ini adalah nama resource endpoint indeks Penelusuran Vektor yang digunakan dengan korpus RAG. Anda dapat menetapkan nama selama panggilan |
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 | |
---|---|
|
ID resource |
Menghapus korpus RAG
Tabel ini mencantumkan parameter yang digunakan untuk menghapus korpus RAG.
Parameter | |
---|---|
|
ID 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.
Parameter | |
---|---|
|
ID resource |
|
Opsional: Nama tampilan RagCorpus. |
|
Opsional: Deskripsi RagCorpus. |
Mengimpor file RAG
Tabel ini mencantumkan parameter yang digunakan untuk mengimpor file RAG.
Parameter | |
---|---|
|
ID resource |
|
Cloud Storage URI yang berisi file upload. |
|
Opsional: Jenis resource Google Drive. |
|
Opsional: ID resource Google Drive. |
|
Opsional: Jumlah token yang harus dimiliki setiap bagian. |
|
Opsional: Jumlah token yang tumpang-tindih antara dua bagian. |
|
Opsional: Angka yang mewakili batas untuk membatasi kecepatan RAG Engine memanggil model penyematan selama proses pengindeksan. Batas default adalah |
|
ID resource |
|
Opsional: Ukuran halaman daftar standar. |
|
Opsional: Token halaman daftar standar. Biasanya diperoleh dari |
Mendapatkan file RAG
Tabel ini mencantumkan parameter yang digunakan untuk mendapatkan file RAG.
Parameter | |
---|---|
|
ID resource |
Menghapus file RAG
Tabel ini mencantumkan parameter yang digunakan untuk menghapus file RAG.
Parameter | |
---|---|
|
ID resource |
Pengambilan dan prediksi
Bagian ini mencantumkan parameter pengambilan dan prediksi.
Parameter pengambilan
Tabel ini mencantumkan parameter pengambilan.
Parameter | Deskripsi |
---|---|
similarity_top_k |
Mengontrol jumlah maksimum konteks yang diambil. |
vector_distance_threshold |
Hanya konteks dengan jarak yang lebih kecil dari nilai minimum yang dipertimbangkan. |
Parameter prediksi
Tabel ini mencantumkan parameter prediksi.
Parameter | |
---|---|
|
Model LLM untuk pembuatan konten. |
|
Nama resource RagCorpus. Format: |
|
Teks ke LLM untuk pembuatan konten. Nilai maksimum: daftar |
|
Opsional: Hanya konteks dengan jarak vektor yang lebih kecil dari nilai minimum yang ditampilkan. |
|
Opsional: Jumlah konteks teratas yang akan diambil. |
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
. - RAG_EMBEDDING_MODEL_CONFIG_ENDPOINT: Model penyematan
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", "rag_embedding_model_config_endpoint": "RAG_EMBEDDING_MODEL_CONFIG_ENDPOINT" }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
lalu jalankan perintah berikut:
curl -X POST \
-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:
$headers = @{ }
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.
// Either your first party publisher model or fine-tuned endpoint
// Example: projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/textembedding-gecko@003
// or
// Example: projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/12345
ENDPOINT_NAME=${RAG_EMBEDDING_MODEL_CONFIG_ENDPOINT}
// 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}"\"',
"rag_embedding_model_config" : {
"vertex_prediction_endpoint": {
"endpoint": '\""${ENDPOINT_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.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK, lihat Menginstal Vertex AI SDK. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Python API.
from vertexai.preview import rag
import vertexai
# TODO(developer): Update and un-comment on the following lines:
# PROJECT_ID = "YOUR_PROJECT_ID"
# corpus_name = "YOUR_CORPUS_NAME"
# e.g. "projects/1234567890/locations/us-central1/ragCorpora/1234567890'"
# display_name = "test_corpus"
# description = "Corpus Description"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")
corpus = rag.update_corpus(
corpus_name=corpus_name,
display_name=display_name,
description=description,
)
print(corpus)
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
CORPUS_ID: The corpus ID of your RAG corpus.
CORPUS_DISPLAY_NAME: The display name of the RAG corpus.
CORPUS_DESCRIPTION: The description of the RAG corpus.
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}
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:
curl -X PATH \
-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 }
Save the request body in a file named request.json, and execute the following command:
```sh
$headers = @{ }
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 \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
PowerShell
Jalankan perintah berikut:
$headers = @{ }
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 \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
PowerShell
Jalankan perintah berikut:
$headers = @{ }
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
, 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 \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
PowerShell
Jalankan perintah berikut:
$headers = @{ }
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: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- RAG_CORPUS_ID: ID resource
RagCorpus
. - INPUT_FILE: Jalur file lokal.
- FILE_DISPLAY_NAME: Nama tampilan
RagFile
. - RAG_FILE_DESCRIPTION: Deskripsi
RagFile
.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload
Isi JSON permintaan:
{ "rag_file": { "display_name": "FILE_DISPLAY_NAME", "description": "RAG_FILE_DESCRIPTION" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama INPUT_FILE
,
lalu jalankan perintah berikut:
curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @INPUT_FILE \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload"
PowerShell
Simpan isi permintaan dalam file bernama INPUT_FILE
,
dan jalankan perintah berikut:
$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile INPUT_FILE `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload" | Select-Object -Expand Content
RagFile
. Komponen terakhir kolom RagFile.name
adalah rag_file_id
yang dibuat server.
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
. - DRIVE_RESOURCE_ID: ID resource Drive. Contoh:
https://drive.google.com/file/d/ABCDE
https://drive.google.com/corp/drive/u/0/folders/ABCDEFG
- DRIVE_RESOURCE_TYPE: Jenis resource Drive. Opsi:
RESOURCE_TYPE_FILE
- FileRESOURCE_TYPE_FOLDER
- Folder- 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 }, "google_drive_source": { "resource_ids": { "resource_id": DRIVE_RESOURCE_ID, "resource_type": DRIVE_RESOURCE_TYPE }, } } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
lalu jalankan perintah berikut:
curl -X POST \
-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:
$headers = @{ }
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 RAG's 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 RAG's 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.
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 \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
PowerShell
Jalankan perintah berikut:
$headers = @{ }
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.
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 \
"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:
$headers = @{ }
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.
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 \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
PowerShell
Jalankan perintah berikut:
$headers = @{ }
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": 0.8 }, "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
,
lalu jalankan perintah berikut:
curl -X POST \
-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:
$headers = @{ }
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.
Prediksi
Prediksi 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
,
lalu jalankan perintah berikut:
curl -X POST \
-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:
$headers = @{ }
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.