RAG Engine API

Mesin RAG Vertex AI adalah komponen platform Vertex AI, yang memfasilitasi Retrieval-Augmented Generation (RAG). Mesin RAG 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.

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.
Lihat Parameter pengelolaan project. Lihat Contoh pengelolaan project.

Parameter pengelolaan korpus

Untuk mengetahui informasi tentang korpus RAG, lihat Pengelolaan korpus.

Membuat korpus RAG

Tabel ini mencantumkan parameter yang digunakan untuk membuat korpus RAG.

Isi Permintaan
Parameter

corpus_type_config

Opsional: Tidak dapat diubah.

RagCorpus.CorpusTypeConfig

Konfigurasi untuk menentukan jenis korpus.

display_name

Wajib: string

Nama tampilan korpus RAG.

description

Opsional: string

Deskripsi korpus RAG.

encryption_spec

Opsional: Tidak dapat diubah: string

Nama kunci CMEK digunakan untuk mengenkripsi data saat tidak digunakan yang terkait dengan korpus RAG. Nama kunci hanya berlaku untuk opsi RagManaged untuk database vektor. Saat korpus dibuat, kolom ini dapat ditetapkan dan tidak dapat diperbarui atau dihapus.

Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key_name}

vector_db_config

Opsional: Tidak dapat diubah: RagVectorDbConfig

Konfigurasi untuk database vektor.

vertex_ai_search_config.serving_config

Opsional: string

Konfigurasi untuk Vertex AI Search.

Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config} atau projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}

CorpusTypeConfig
Parameter

document_corpus

oneof RagCorpus.CorpusTypeConfig.DocumentCorpus

Nilai default corpus_type_config, yang merepresentasikan korpus RAG berbasis dokumen konvensional.

memory_corpus

oneof RagCorpus.CorpusTypeConfig.MemoryCorpus

Jika Anda menyetel jenis ini, korpus RAG adalah MemoryCorpus yang dapat digunakan dengan Gemini Live API sebagai penyimpanan memori.

Untuk mengetahui informasi selengkapnya, lihat Menggunakan Vertex AI RAG Engine sebagai penyimpanan memori.

memory_corpus.llm_parser

oneof RagFileParsingConfig.LlmParser

Parser LLM yang digunakan untuk mem-parsing dan menyimpan konteks sesi dari Gemini Live API. Anda dapat membuat kenangan untuk pengindeksan.

RagVectorDbConfig
Parameter

rag_managed_db

oneof vector_db: RagVectorDbConfig.RagManagedDb

Jika tidak ada database vektor yang ditentukan, rag_managed_db adalah database vektor default.

rag_managed_db.knn

oneof retrieval_strategy: KNN

Default.

Menemukan tetangga terdekat yang tepat dengan membandingkan semua titik data dalam korpus RAG Anda.

Jika Anda tidak menentukan strategi selama pembuatan korpus RAG, KNN adalah strategi pengambilan default yang digunakan.

rag_managed_db.ann

oneof retrieval_strategy: ANN

tree_depth

Menentukan jumlah lapisan atau tingkat dalam hierarki.

Jika Anda memiliki file RAG O(10K) dalam korpus RAG, tetapkan nilai ini ke 2.
  • Jika diperlukan lebih banyak lapisan atau tingkat, tetapkan nilai ini ke 3.
  • Jika jumlah lapisan atau level tidak ditentukan, Vertex AI RAG Engine akan menetapkan nilai default 2 untuk parameter ini.

leaf_count

Menentukan jumlah node daun dalam struktur berbasis pohon.

  • Nilai yang direkomendasikan adalah 10 * sqrt(num of RAG files in your RAG corpus).
  • Jika tidak ditentukan, Vertex AI RAG Engine akan menetapkan nilai default 500 untuk parameter ini.

rebuild_ann_index

  • Vertex AI RAG Engine membangun ulang indeks ANN Anda.
  • Tetapkan ke true dalam permintaan API ImportRagFiles Anda.
  • Sebelum Anda membuat kueri korpus RAG, Anda harus membangun ulang indeks ANN satu kali.
  • Hanya satu pembangunan ulang indeks serentak yang didukung pada project di setiap lokasi.

weaviate

oneof vector_db: RagVectorDbConfig.Weaviate

Menentukan instance Weaviate Anda.

weaviate.http_endpoint

string

Endpoint HTTP instance Weaviate.

Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong di panggilan API CreateRagCorpus, dan menyetelnya dengan nilai yang tidak kosong di panggilan API UpdateRagCorpus berikutnya.

weaviate.collection_name

string

Kumpulan Weaviate yang dipetakan oleh korpus RAG.

Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong di panggilan API CreateRagCorpus, dan menyetelnya dengan nilai yang tidak kosong di panggilan API UpdateRagCorpus berikutnya.

pinecone

oneof vector_db: RagVectorDbConfig.Pinecone

Menentukan instance Pinecone Anda.

pinecone.index_name

string

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 di panggilan API CreateRagCorpus, dan menyetelnya dengan nilai yang tidak kosong di panggilan API UpdateRagCorpus berikutnya.

vertex_feature_store

oneof vector_db: RagVectorDbConfig.VertexFeatureStore

Menentukan instance Vertex AI Feature Store Anda.

vertex_feature_store.feature_view_resource_name

string

FeatureView Vertex AI Feature Store yang dipetakan oleh korpus RAG.

Format: projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}

Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong di panggilan API CreateRagCorpus, dan menyetelnya dengan nilai yang tidak kosong di panggilan API UpdateRagCorpus berikutnya.

vertex_vector_search

oneof vector_db: RagVectorDbConfig.VertexVectorSearch

Menentukan instance Vertex Vector Search Anda.

vertex_vector_search.index

string

Ini adalah nama resource indeks Vector Search yang digunakan dengan korpus RAG.

Format: projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}

Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong di panggilan API CreateRagCorpus, dan menyetelnya dengan nilai yang tidak kosong di panggilan API UpdateRagCorpus berikutnya.

vertex_vector_search.index_endpoint

string

Ini adalah nama resource endpoint indeks Vector Search yang digunakan dengan korpus RAG.

Format: projects/{project}/locations/{location}/indexes/{index}

Nilai ini tidak dapat diubah setelah ditetapkan. Anda dapat membiarkannya kosong di panggilan API CreateRagCorpus, dan menyetelnya dengan nilai yang tidak kosong di panggilan API UpdateRagCorpus berikutnya.

api_auth.api_key_config.api_key_secret_version

string

Ini adalah nama resource lengkap secret yang disimpan di Secret Manager, yang berisi kunci API Weaviate atau Pinecone Anda yang bergantung pada pilihan database vektor Anda.

Format: projects/{PROJECT_NUMBER}/secrets/{SECRET_ID}/versions/{VERSION_ID}

Anda dapat membiarkannya kosong dalam panggilan API CreateRagCorpus, dan menyetelnya dengan nilai yang tidak kosong dalam panggilan API UpdateRagCorpus berikutnya.

rag_embedding_model_config.vertex_prediction_endpoint.endpoint

Opsional: Tidak dapat diubah: string

Model embedding yang akan digunakan untuk korpus RAG. Nilai ini tidak dapat diubah setelah ditetapkan. Jika Anda membiarkannya kosong, kami akan menggunakan text-embedding-005 sebagai model embedding.

Memperbarui korpus RAG

Tabel ini mencantumkan parameter yang digunakan untuk memperbarui korpus RAG.

Isi Permintaan
Parameter

display_name

Opsional: string

Nama tampilan korpus RAG.

description

Opsional: string

Deskripsi korpus RAG.

rag_vector_db.weaviate.http_endpoint

string

Endpoint HTTP instance Weaviate.

Jika RagCorpus Anda dibuat dengan konfigurasi Weaviate, dan kolom ini belum pernah ditetapkan sebelumnya, Anda dapat memperbarui endpoint HTTP instance Weaviate.

rag_vector_db.weaviate.collection_name

string

Kumpulan Weaviate yang dipetakan oleh korpus RAG.

Jika RagCorpus Anda dibuat dengan konfigurasi Weaviate, dan kolom ini belum pernah ditetapkan sebelumnya, Anda dapat memperbarui nama koleksi instance Weaviate.

rag_vector_db.pinecone.index_name

string

Ini adalah nama yang digunakan untuk membuat indeks Pinecone yang digunakan dengan korpus RAG.

Jika RagCorpus Anda dibuat dengan konfigurasi Pinecone, dan kolom ini belum pernah disetel sebelumnya, Anda dapat memperbarui nama indeks instance Pinecone.

rag_vector_db.vertex_feature_store.feature_view_resource_name

string

FeatureView Vertex AI Feature Store yang dipetakan oleh korpus RAG.

Format: projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}

Jika RagCorpus Anda dibuat dengan konfigurasi Vertex AI Feature Store, dan kolom ini belum pernah ditetapkan sebelumnya, Anda dapat memperbaruinya.

rag_vector_db.vertex_vector_search.index

string

Ini adalah nama resource indeks Vector Search yang digunakan dengan korpus RAG.

Format: projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}

Jika RagCorpus Anda dibuat dengan konfigurasi Vector Search, dan kolom ini belum pernah ditetapkan sebelumnya, Anda dapat memperbaruinya.

rag_vector_db.vertex_vector_search.index_endpoint

string

Ini adalah nama resource endpoint indeks Vector Search yang digunakan dengan korpus RAG.

Format: projects/{project}/locations/{location}/indexes/{index}

Jika RagCorpus Anda dibuat dengan konfigurasi Vector Search, dan kolom ini belum pernah ditetapkan sebelumnya, Anda dapat memperbaruinya.

rag_vector_db.api_auth.api_key_config.api_key_secret_version

string

Nama lengkap resource secret yang disimpan di Secret Manager, yang berisi kunci API Weaviate atau Pinecone Anda, bergantung pada pilihan database vektor Anda.

Format: projects/{PROJECT_NUMBER}/secrets/{SECRET_ID}/versions/{VERSION_ID}

Mencantumkan korpus RAG

Tabel ini mencantumkan parameter yang digunakan untuk mencantumkan korpora RAG.

Parameter

page_size

Opsional: int

Ukuran halaman daftar standar.

page_token

Opsional: string

Token halaman daftar standar. Biasanya diperoleh dari [ListRagCorporaResponse.next_page_token][] panggilan [VertexRagDataService.ListRagCorpora][] sebelumnya.

Mendapatkan korpus RAG

Tabel ini mencantumkan parameter yang digunakan untuk mendapatkan korpus RAG.

Parameter

name

string

Nama resource RagCorpus. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus_id}

Menghapus korpus RAG

Tabel ini mencantumkan parameter yang digunakan untuk menghapus korpus RAG.

Parameter

name

string

Nama resource RagCorpus. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus_id}

Parameter pengelolaan file

Untuk mengetahui informasi tentang file RAG, lihat Pengelolaan file.

Mengupload file RAG

Tabel ini mencantumkan parameter yang digunakan untuk mengupload file RAG.

Isi Permintaan
Parameter

parent

string

Nama resource RagCorpus. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus_id}

rag_file

Wajib: RagFile

File yang akan diupload.

upload_rag_file_config

Wajib: UploadRagFileConfig

Konfigurasi untuk RagFile yang akan diupload ke RagCorpus.

RagFile

display_name

Wajib: string

Nama tampilan file RAG.

description

Opsional: string

Deskripsi file RAG.

UploadRagFileConfig

rag_file_transformation_config.rag_file_chunking_config.fixed_length_chunking.chunk_size

int32

Jumlah token yang dimiliki setiap potongan.

rag_file_transformation_config.rag_file_chunking_config.fixed_length_chunking.chunk_overlap

int32

Tumpang-tindih antar-chunk.

Mengimpor file RAG

Tabel ini mencantumkan parameter yang digunakan untuk mengimpor file RAG.

Parameter

parent

Wajib: string

Nama resource RagCorpus.

Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus_id}

gcs_source

oneof import_source: GcsSource

Lokasi Cloud Storage.

Mendukung pengimporan file satu per satu serta seluruh direktori Cloud Storage.

gcs_source.uris

list dari string

URI Cloud Storage yang berisi file upload.

google_drive_source

oneof import_source: GoogleDriveSource

Lokasi Google Drive.

Mendukung pengimporan file individual serta folder Google Drive.

slack_source

oneof import_source: SlackSource

Channel Slack tempat file diupload.

jira_source

oneof import_source: JiraSource

Kueri Jira tempat file diupload.

share_point_sources

oneof import_source: SharePointSources

Sumber SharePoint tempat file diupload.

rag_file_transformation_config.rag_file_chunking_config.fixed_length_chunking.chunk_size

int32

Jumlah token yang dimiliki setiap potongan.

rag_file_transformation_config.rag_file_chunking_config.fixed_length_chunking.chunk_overlap

int32

Tumpang-tindih antar-chunk.

rag_file_parsing_config

Opsional: RagFileParsingConfig

Menentukan konfigurasi parsing untuk RagFiles.

Jika kolom ini tidak disetel, RAG akan menggunakan parser default.

max_embedding_requests_per_min

Opsional: int32

Jumlah maksimum kueri per menit yang diizinkan untuk tugas ini ke model sematan yang ditentukan pada korpus. Nilai ini khusus untuk tugas ini dan tidak dibagikan di tugas impor lainnya. Lihat halaman Kuota di project untuk menetapkan nilai yang sesuai.

Jika tidak ditentukan, nilai default 1.000 QPM akan digunakan.

GoogleDriveSource

resource_ids.resource_id

Wajib: string

ID resource Google Drive.

resource_ids.resource_type

Wajib: string

Jenis resource Google Drive.

SlackSource

channels.channels

Berulang: SlackSource.SlackChannels.SlackChannel

Informasi channel Slack, termasuk ID dan rentang waktu yang akan diimpor.

channels.channels.channel_id

Wajib: string

ID channel Slack.

channels.channels.start_time

Opsional: google.protobuf.Timestamp

Stempel waktu awal untuk pesan yang akan diimpor.

channels.channels.end_time

Opsional: google.protobuf.Timestamp

Stempel waktu akhir untuk pesan yang akan diimpor.

channels.api_key_config.api_key_secret_version

Wajib: string

Nama lengkap resource secret yang disimpan di Secret Manager, yang berisi token akses saluran Slack yang memiliki akses ke ID saluran Slack.
Lihat: https://api.slack.com/tutorials/tracks/getting-a-token.

Format: projects/{PROJECT_NUMBER}/secrets/{SECRET_ID}/versions/{VERSION_ID}

JiraSource

jira_queries.projects

Berulang: string

Daftar project Jira yang akan diimpor secara keseluruhan.

jira_queries.custom_queries

Berulang: string

Daftar kueri Jira kustom yang akan diimpor. Untuk mengetahui informasi tentang JQL (Jira Query Language), lihat
Dukungan Jira

jira_queries.email

Wajib: string

Alamat email Jira.

jira_queries.server_uri

Wajib: string

URI server Jira.

jira_queries.api_key_config.api_key_secret_version

Wajib: string

Nama lengkap resource rahasia yang disimpan di Secret Manager, yang berisi kunci API Jira yang memiliki akses ke ID channel Slack.
Lihat: https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/

Format: projects/{PROJECT_NUMBER}/secrets/{SECRET_ID}/versions/{VERSION_ID}

SharePointSources

share_point_sources.sharepoint_folder_path

oneof di folder_source: string

Jalur folder SharePoint yang akan didownload.

share_point_sources.sharepoint_folder_id

oneof di folder_source: string

ID folder SharePoint yang akan didownload.

share_point_sources.drive_name

oneof di drive_source: string

Nama perjalanan yang akan didownload.

share_point_sources.drive_id

oneof di drive_source: string

ID drive yang akan didownload.

share_point_sources.client_id

string

ID Aplikasi untuk aplikasi yang terdaftar di Microsoft Azure Portal.
Aplikasi juga harus dikonfigurasi dengan izin MS Graph "Files.ReadAll", "Sites.ReadAll", dan BrowserSiteLists.Read.All.

share_point_sources.client_secret.api_key_secret_version

Wajib: string

Nama lengkap resource secret yang disimpan di Secret Manager, yang berisi secret aplikasi untuk aplikasi yang terdaftar di Azure.

Format: projects/{PROJECT_NUMBER}/secrets/{SECRET_ID}/versions/{VERSION_ID}

share_point_sources.tenant_id

string

ID unik Instance Azure Active Directory.

share_point_sources.sharepoint_site_name

string

Nama situs SharePoint yang akan didownload. Ini bisa berupa nama situs atau ID situs.

RagFileParsingConfig

layout_parser

oneof parser: RagFileParsingConfig.LayoutParser

Parser Tata Letak yang akan digunakan untuk RagFile.

layout_parser.processor_name

string

Nama lengkap resource pemroses atau versi pemroses Document AI.

Format:
projects/{project_id}/locations/{location}/processors/{processor_id}
projects/{project_id}/locations/{location}/processors/{processor_id}/processorVersions/{processor_version_id}

layout_parser.max_parsing_requests_per_min

string

Jumlah maksimum permintaan yang diizinkan untuk dibuat 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.

llm_parser

oneof parser: RagFileParsingConfig.LlmParser

Parser LLM yang akan digunakan untuk RagFile.

llm_parser.model_name

string

Nama resource model LLM.

Format:
projects/{project_id}/locations/{location}/publishers/{publisher}/models/{model}

llm_parser.max_parsing_requests_per_min

string

Jumlah maksimum permintaan yang diizinkan untuk dibuat tugas ke model LLM per menit.

Untuk menetapkan nilai yang sesuai untuk project Anda, lihat bagian kuota model dan halaman Kuota untuk project Anda guna menetapkan nilai yang sesuai di sini. Jika tidak ditentukan, nilai default 5.000 QPM akan digunakan.

Mendapatkan file RAG

Tabel ini mencantumkan parameter yang digunakan untuk mendapatkan file RAG.

Parameter

name

string

Nama resource RagFile. Format: projects/{project}/locations/{location}/ragCorpora/{rag_file_id}

Menghapus file RAG

Tabel ini mencantumkan parameter yang digunakan untuk menghapus file RAG.

Parameter

name

string

Nama resource RagFile. Format: projects/{project}/locations/{location}/ragCorpora/{rag_file_id}

Parameter pengambilan dan prediksi

Bagian ini mencantumkan parameter pengambilan dan prediksi.

Parameter pengambilan

Tabel ini mencantumkan parameter untuk retrieveContexts API.

Parameter

parent

Wajib: string

Nama resource Lokasi yang akan diambil RagContexts.
Pengguna harus memiliki izin untuk melakukan panggilan di project.

Format: projects/{project}/locations/{location}

vertex_rag_store

VertexRagStore

Sumber data untuk Vertex RagStore.

query

Wajib: RagQuery

Kueri pengambilan RAG tunggal.

VertexRagStore
VertexRagStore

rag_resources

daftar: RagResource

Representasi sumber RAG. Dapat digunakan untuk menentukan hanya korpus atau RagFile. Hanya mendukung satu korpus atau beberapa file dari satu korpus.

rag_resources.rag_corpus

Opsional: string

Nama resource RagCorpora.

Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

rag_resources.rag_file_ids

daftar: string

Daftar resource RagFile.

Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}

RagQuery

text

string

Kueri dalam format teks untuk mendapatkan konteks yang relevan.

rag_retrieval_config

Opsional: RagRetrievalConfig

Konfigurasi pengambilan untuk kueri.

RagRetrievalConfig

top_k

Opsional: int32

Jumlah konteks yang akan diambil.

hybrid_search.alpha

Opsional: float

Nilai alfa mengontrol bobot antara hasil penelusuran vektor padat dan jarang. Rentangnya adalah [0, 1], dengan 0 berarti hanya penelusuran vektor jarang dan 1 berarti hanya penelusuran vektor padat. Nilai defaultnya adalah 0,5, yang menyeimbangkan pencarian vektor jarang dan padat secara merata.

Penelusuran Hybrid hanya tersedia untuk Weaviate.

filter.vector_distance_threshold

oneof vector_db_threshold: double

Hanya menampilkan konteks dengan jarak vektor yang lebih kecil daripada nilai minimum.

filter.vector_similarity_threshold

oneof vector_db_threshold: double

Hanya menampilkan konteks dengan kemiripan vektor yang lebih besar daripada nilai minimum.

ranking.rank_service.model_name

Opsional: string

Nama model layanan peringkat.

Contoh: semantic-ranker-512@latest

ranking.llm_ranker.model_name

Opsional: string

Nama model yang digunakan untuk penentuan peringkat.

Contoh: gemini-2.5-flash

Parameter prediksi

Tabel ini mencantumkan parameter prediksi.

GenerateContentRequest

tools.retrieval.vertex_rag_store

VertexRagStore

Disetel untuk menggunakan sumber data yang didukung oleh penyimpanan RAG Vertex AI.

Lihat VertexRagStore untuk mengetahui detailnya.

Parameter pengelolaan project

Tabel ini mencantumkan parameter tingkat project.

RagEngineConfig
Parameter
RagManagedDbConfig.scaled Tingkatan ini menawarkan performa skala produksi bersama dengan fungsi penskalaan otomatis.
RagManagedDbConfig.basic Tingkat ini menawarkan tingkat komputasi rendah yang hemat biaya.
RagManagedDbConfig.unprovisioned Tingkatan ini menghapus RagManagedDb dan instance Spanner yang mendasarinya.

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
Anda akan menerima kode status yang berhasil (2xx).

Contoh berikut menunjukkan cara membuat korpus RAG menggunakan REST API.

  PROJECT_ID: Your project ID.
  LOCATION: The region to process the request.
  CORPUS_DISPLAY_NAME: The display name of the <code>RagCorpus</code>.
    // CreateRagCorpus
    // Input: LOCATION, PROJECT_ID, CORPUS_DISPLAY_NAME
    // Output: CreateRagCorpusOperationMetadata
    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" : "CORPUS_DISPLAY_NAME"
      }'

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 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
Anda akan menerima kode status yang berhasil (2xx).

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 parameter page_size.
  • PAGE_TOKEN: Token halaman daftar standar. Biasanya diperoleh menggunakan ListRagCorporaResponse.next_page_token dari panggilan VertexRagDataService.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
Anda akan menerima kode status yang berhasil (`2xx`) dan daftar RagCorpora di PROJECT_ID yang diberikan.

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
Respons yang berhasil akan menampilkan resource 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 sematan yang telah Anda pilih.

  PROJECT_ID: Your project ID.
  LOCATION: The region to process the request.
  RAG_CORPUS_ID: The corpus ID of your RAG corpus.
// GetRagCorpus
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID
// Output: RagCorpus
curl -X GET \
-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_ID

// ListRagCorpora
curl -sS -X GET \
-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/

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
Respons yang berhasil akan menampilkan DeleteOperationMetadata.

Contoh pengelolaan file

Bagian ini memberikan contoh cara menggunakan API untuk mengelola file RAG.

Contoh upload 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"

Contoh mengimpor file RAG

File dan folder dapat diimpor dari Drive atau Cloud Storage.

response.skipped_rag_files_count mengacu pada jumlah file yang dilewati selama impor. File dilewati jika kondisi berikut terpenuhi:

  1. File sudah diimpor.
  2. File tidak berubah.
  3. Konfigurasi chunking untuk file tidak 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 antar-potongan.

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
Respons yang berhasil akan menampilkan resource 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 embedding selama proses pengindeksan ImportRagFiles. Kolom ini memiliki nilai default 1000 panggilan per menit.

  PROJECT_ID: Your project ID.
  LOCATION: The region to process the request.
  RAG_CORPUS_ID: The corpus ID of your RAG corpus.
  GCS_URIS: A list of Cloud Storage locations. Example: gs://my-bucket1.
  CHUNK_SIZE: Number of tokens each chunk should have.
  CHUNK_OVERLAP: Number of tokens overlap between chunks.
  EMBEDDING_MODEL_QPM_RATE: The QPM rate to limit RAGs access to your embedding model. Example: 1000.
// ImportRagFiles
// Import a single Cloud Storage file or all files in a Cloud Storage bucket.
// Input: LOCATION, 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://LOCATION-aiplatform.googleapis.com/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": CHUNK_SIZE,
      "chunk_overlap": CHUNK_OVERLAP
    },
    "max_embedding_requests_per_min": EMBEDDING_MODEL_QPM_RATE
  }
}'

// Poll the operation status.
// The response contains the number of files imported.
OPERATION_ID: The operation ID you get from the response of the previous command.
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 embedding selama proses pengindeksan ImportRagFiles. Kolom ini memiliki nilai default 1000 panggilan per menit.

  PROJECT_ID: Your project ID.
  LOCATION: The region to process the request.
  RAG_CORPUS_ID: The corpus ID of your RAG corpus.
  FOLDER_RESOURCE_ID: The resource ID of your Google Drive folder.
  CHUNK_SIZE: Number of tokens each chunk should have.
  CHUNK_OVERLAP: Number of tokens overlap between chunks.
  EMBEDDING_MODEL_QPM_RATE: The QPM rate to limit RAGs access to your embedding model. Example: 1000.
// ImportRagFiles
// Import all files in a Google Drive folder.
// Input: LOCATION, 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://LOCATION-aiplatform.googleapis.com/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: The operation ID you get from the response of the previous command.
poll_op_wait OPERATION_ID

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 parameter page_size.
  • PAGE_TOKEN: Token halaman daftar standar. Biasanya diperoleh menggunakan ListRagFilesResponse.next_page_token dari panggilan VertexRagDataService.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
Anda akan menerima kode status yang berhasil (2xx) beserta daftar RagFiles dalam RAG_CORPUS_ID yang diberikan.

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
Respons yang berhasil akan menampilkan resource RagFile.

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
Respons yang berhasil akan menampilkan resource DeleteOperationMetadata.

Contoh kueri pengambilan

Saat pengguna mengajukan pertanyaan atau memberikan perintah, komponen pengambilan di RAG akan menelusuri pusat informasinya untuk menemukan informasi yang relevan dengan kueri tersebut.

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
Anda akan menerima kode status yang berhasil (2xx) dan daftar RagFiles terkait.

Contoh pembuatan

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-2.5-flash
  • 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
Respons yang berhasil akan menampilkan konten yang dihasilkan dengan kutipan.

Contoh pengelolaan project

Tingkat ini adalah setelan tingkat project yang tersedia di bagian RagEngineConfig resource dan memengaruhi korpora RAG yang menggunakan RagManagedDb. Untuk mendapatkan konfigurasi tingkat, gunakan GetRagEngineConfig. Untuk memperbarui konfigurasi tingkat, gunakan UpdateRagEngineConfig.

Untuk mengetahui informasi selengkapnya tentang mengelola konfigurasi tingkat, lihat Mengelola tingkat Anda.

Mendapatkan konfigurasi project

Contoh kode berikut menunjukkan cara membaca RagEngineConfig Anda:

Konsol

  1. Di konsol Google Cloud , buka halaman RAG Engine.

    Buka RAG Engine

  2. Pilih region tempat RAG Engine Anda berjalan. Daftar korpus RAG Anda diperbarui.
  3. Klik Configure RAG Engine. Panel Configure RAG Engine akan muncul. Anda dapat melihat tingkatan yang dipilih untuk RAG Engine Anda.
  4. Klik Cancel.

Python

from vertexai import rag
import vertexai

PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)

rag_engine_config = rag.rag_data.get_rag_engine_config(
    name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
)

print(rag_engine_config)

REST

curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig

Memperbarui konfigurasi project

Bagian ini memberikan contoh kode untuk menunjukkan cara mengubah tingkat Anda dalam konfigurasi.

Mengupgrade RagEngineConfig Anda ke tingkat Scaled

Contoh kode berikut menunjukkan cara menyetel RagEngineConfig ke tingkat yang Diskalakan:

Konsol

  1. Di konsol Google Cloud , buka halaman RAG Engine.

    Buka RAG Engine

  2. Pilih region tempat RAG Engine Anda berjalan. Daftar korpus RAG Anda diperbarui.
  3. Klik Configure RAG Engine. Panel Configure RAG Engine akan muncul.
  4. Pilih tingkat yang ingin Anda jalankan RAG Engine.
  5. Klik Simpan.

Python

from vertexai import rag
import vertexai

PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)

rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"

new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(tier=rag.Scaled()),
)

updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)

print(updated_rag_engine_config)

REST

curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig -d "{'ragManagedDbConfig': {'scaled': {}}}"

Mengubah RagEngineConfig Anda ke paket Basic

Contoh kode berikut menunjukkan cara menyetel RagEngineConfig ke tingkat Dasar:

Jika Anda memiliki banyak data di RagManagedDb di seluruh korpus RAG, downgrade ke tingkat Dasar dapat gagal karena kapasitas komputasi dan penyimpanan yang tidak memadai.

Konsol

  1. Di konsol Google Cloud , buka halaman RAG Engine.

    Buka RAG Engine

  2. Pilih region tempat RAG Engine Anda berjalan. Daftar korpus RAG Anda diperbarui.
  3. Klik Configure RAG Engine. Panel Configure RAG Engine akan muncul.
  4. Pilih tingkat yang ingin Anda jalankan RAG Engine.
  5. Klik Simpan.

Python

from vertexai import rag
import vertexai

PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)

rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"

new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(tier=rag.Basic()),
)

updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)

print(updated_rag_engine_config)

REST

curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig -d "{'ragManagedDbConfig': {'basic': {}}}"

Memperbarui RagEngineConfig Anda ke tingkat Belum Disediakan

Contoh kode berikut menunjukkan cara menyetel RagEngineConfig ke tingkat Tidak disediakan:

Konsol

  1. Di konsol Google Cloud , buka halaman RAG Engine.

    Buka RAG Engine

  2. Pilih region tempat RAG Engine Anda berjalan. Daftar korpus RAG Anda diperbarui.
  3. Klik Configure RAG Engine. Panel Configure RAG Engine akan muncul.
  4. Klik Hapus Mesin RAG. Dialog konfirmasi akan muncul.
  5. Verifikasi bahwa Anda akan menghapus data Anda di RAG Engine dengan mengetik delete, lalu klik Konfirmasi.
  6. Klik Simpan.

Python

from vertexai import rag
import vertexai

PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)

rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"

new_rag_engine_config = rag.RagEngineConfig(
  name=rag_engine_config_name,
  rag_managed_db_config=rag.RagManagedDbConfig(tier=rag.Unprovisioned()),
)

updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
  rag_engine_config=new_rag_engine_config
)

print(updated_rag_engine_config)

REST

curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig -d "{'ragManagedDbConfig': {'unprovisioned': {}}}"

Langkah berikutnya