Resource: RagCorpus
A RagCorpus is a RagFile container and a project can have multiple RagCorpora.
name
string
Output only. The resource name of the RagCorpus.
displayName
string
Required. The display name of the RagCorpus. The name can be up to 128 characters long and can consist of any UTF-8 characters.
description
string
Optional. The description of the RagCorpus.
Optional. Immutable. The embedding model config of the RagCorpus.
Optional. Immutable. The Vector DB config of the RagCorpus.
Output only. timestamp when this RagCorpus was created.
Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
Output only. timestamp when this RagCorpus was last updated.
Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
Output only. RagCorpus state.
ragFilesCount
integer
Output only. Number of RagFiles in the RagCorpus.
Optional. Immutable. The CMEK key name used to encrypt at-rest data related to this Corpus. Only applicable to RagManagedDb option for Vector DB. This field can only be set at corpus creation time, and cannot be updated or deleted.
Optional. The corpus type config of the RagCorpus.
backend_config
Union type
backend_config
can be only one of the following:Optional. Immutable. The config for the Vector DBs.
Optional. Immutable. The config for the Vertex AI Search.
JSON representation |
---|
{ "name": string, "displayName": string, "description": string, "ragEmbeddingModelConfig": { object ( |
RagVectorDbConfig
Config for the Vector DB to use for RAG.
Authentication config for the chosen Vector DB.
Optional. Immutable. The embedding model config of the Vector DB.
vector_db
Union type
vector_db
can be only one of the following:The config for the RAG-managed Vector DB.
The config for the Weaviate.
The config for the Pinecone.
The config for the Vertex feature Store.
The config for the Vertex Vector Search.
JSON representation |
---|
{ "apiAuth": { object ( |
RagManagedDb
The config for the default RAG-managed Vector DB.
retrieval_strategy
Union type
retrieval_strategy
can be only one of the following:Performs a KNN search on RagCorpus. Default choice if not specified.
Performs an ANN search on RagCorpus. Use this if you have a lot of files (> 10K) in your RagCorpus and want to reduce the search latency.
KNN
This type has no fields.
Config for KNN search.
ANN
Config for ANN search.
RagManagedDb uses a tree-based structure to partition data and facilitate faster searches. As a tradeoff, it requires longer indexing time and manual triggering of index rebuild via the ImportRagFiles and ragCorpora.patch API.
treeDepth
integer
The depth of the tree-based structure. Only depth values of 2 and 3 are supported.
Recommended value is 2 if you have if you have O(10K) files in the RagCorpus and set this to 3 if more than that.
Default value is 2.
leafCount
integer
Number of leaf nodes in the tree-based structure. Each leaf node contains groups of closely related vectors along with their corresponding centroid.
Recommended value is 10 * sqrt(num of RagFiles in your RagCorpus).
Default value is 500.
JSON representation |
---|
{ "treeDepth": integer, "leafCount": integer } |
Weaviate
The config for the Weaviate.
httpEndpoint
string
Weaviate DB instance HTTP endpoint. e.g. 34.56.78.90:8080 Vertex RAG only supports HTTP connection to Weaviate. This value cannot be changed after it's set.
collectionName
string
The corresponding collection this corpus maps to. This value cannot be changed after it's set.
JSON representation |
---|
{ "httpEndpoint": string, "collectionName": string } |
Pinecone
The config for the Pinecone.
indexName
string
Pinecone index name. This value cannot be changed after it's set.
JSON representation |
---|
{ "indexName": string } |
VertexFeatureStore
The config for the Vertex feature Store.
featureViewResourceName
string
The resource name of the FeatureView. Format: projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}
JSON representation |
---|
{ "featureViewResourceName": string } |
VertexVectorSearch
The config for the Vertex Vector Search.
indexEndpoint
string
The resource name of the Index Endpoint. Format: projects/{project}/locations/{location}/indexEndpoints/{indexEndpoint}
index
string
The resource name of the Index. Format: projects/{project}/locations/{location}/indexes/{index}
JSON representation |
---|
{ "indexEndpoint": string, "index": string } |
RagEmbeddingModelConfig
Config for the embedding model to use for RAG.
model_config
Union type
model_config
can be only one of the following:The Vertex AI Prediction Endpoint that either refers to a publisher model or an endpoint that is hosting a 1P fine-tuned text embedding model. endpoints hosting non-1P fine-tuned text embedding models are currently not supported. This is used for dense vector search.
Configuration for hybrid search.
JSON representation |
---|
{ // model_config "vertexPredictionEndpoint": { object ( |
VertexPredictionEndpoint
Config representing a model hosted on Vertex Prediction Endpoint.
endpoint
string
Required. The endpoint resource name. Format: projects/{project}/locations/{location}/publishers/{publisher}/models/{model}
or projects/{project}/locations/{location}/endpoints/{endpoint}
model
string
Output only. The resource name of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model. Pattern: projects/{project}/locations/{location}/models/{model}
modelVersionId
string
Output only. version id of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model.
JSON representation |
---|
{ "endpoint": string, "model": string, "modelVersionId": string } |
HybridSearchConfig
Config for hybrid search.
Optional. The configuration for sparse embedding generation. This field is optional the default behavior depends on the vector database choice on the RagCorpus.
Required. The Vertex AI Prediction Endpoint that hosts the embedding model for dense embedding generations.
JSON representation |
---|
{ "sparseEmbeddingConfig": { object ( |
SparseEmbeddingConfig
Bm25
message for BM25 parameters.
multilingual
boolean
Optional. Use multilingual tokenizer if set to true.
k1
number
Optional. The parameter to control term frequency saturation. It determines the scaling between the matching term frequency and final score. k1 is in the range of [1.2, 3]. The default value is 1.2.
b
number
Optional. The parameter to control document length normalization. It determines how much the document length affects the final score. b is in the range of [0, 1]. The default value is 0.75.
JSON representation |
---|
{ "multilingual": boolean, "k1": number, "b": number } |
VertexAiSearchConfig
Config for the Vertex AI Search.
servingConfig
string
Vertex AI Search Serving Config resource full name. For example, projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{servingConfig}
or projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/servingConfigs/{servingConfig}
.
JSON representation |
---|
{ "servingConfig": string } |
CorpusStatus
State
RagCorpus life state.
Enums | |
---|---|
UNKNOWN |
This state is not supposed to happen. |
INITIALIZED |
RagCorpus resource entry is initialized, but hasn't done validation. |
ACTIVE |
RagCorpus is provisioned successfully and is ready to serve. |
ERROR |
RagCorpus is in a problematic situation. See errorMessage field for details. |
CorpusTypeConfig
The config for the corpus type of the RagCorpus.
corpus_type_config
Union type
corpus_type_config
can be only one of the following:Optional. Config for the document corpus.
Optional. Config for the memory corpus.
JSON representation |
---|
{ // corpus_type_config "documentCorpus": { object ( |
DocumentCorpus
This type has no fields.
Config for the document corpus.
MemoryCorpus
LlmParser
Specifies the LLM parsing for RagFiles.
modelName
string
The name of a LLM model used for parsing. Format: * projects/{projectId}/locations/{location}/publishers/{publisher}/models/{model}
maxParsingRequestsPerMin
integer
The maximum number of requests the job is allowed to make to the LLM model per minute. Consult https://cloud.google.com/vertex-ai/generative-ai/docs/quotas and your document size to set an appropriate value here. If unspecified, a default value of 5000 QPM would be used.
globalMaxParsingRequestsPerMin
integer
The maximum number of requests the job is allowed to make to the LLM model per minute in this project. Consult https://cloud.google.com/vertex-ai/generative-ai/docs/quotas and your document size to set an appropriate value here. If this value is not specified, maxParsingRequestsPerMin will be used by indexing pipeline job as the global limit.
customParsingPrompt
string
The prompt to use for parsing. If not specified, a default prompt will be used.
JSON representation |
---|
{ "modelName": string, "maxParsingRequestsPerMin": integer, "globalMaxParsingRequestsPerMin": integer, "customParsingPrompt": string } |
Methods |
|
---|---|
|
Creates a RagCorpus. |
|
Deletes a RagCorpus. |
|
Gets a RagCorpus. |
|
Lists RagCorpora in a Location. |
|
Updates a RagCorpus. |