Method: projects.locations.retrieveContexts

Retrieves relevant contexts for a query.

HTTP request

POST http://{service-endpoint}/v1beta1/{parent}:retrieveContexts

Where {service-endpoint} is one of the supported service endpoints.

Path parameters

Parameters
parent

string

Required. The resource name of the Location from which to retrieve RagContexts. The users must have permission to make a call in the project. Format: projects/{project}/locations/{location}.

Request body

The request body contains data with the following structure:

JSON representation
{
  "query": {
    object (RagQuery)
  },

  // Union field data_source can be only one of the following:
  "vertexRagStore": {
    object (VertexRagStore)
  }
  // End of list of possible types for union field data_source.
}
Fields
query

object (RagQuery)

Required. Single RAG retrieve query.

Union field data_source. Data Source to retrieve contexts. data_source can be only one of the following:
vertexRagStore

object (VertexRagStore)

The data source for Vertex RagStore.

Response body

Response message for VertexRagService.RetrieveContexts.

If successful, the response body contains data with the following structure:

JSON representation
{
  "contexts": {
    object (RagContexts)
  }
}
Fields
contexts

object (RagContexts)

The contexts of the query.

Authorization scopes

Requires the following OAuth scope:

  • http://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • aiplatform.locations.get

For more information, see the IAM documentation.

VertexRagStore

The data source for Vertex RagStore.

JSON representation
{
  "ragCorpora": [
    string
  ],
  "ragResources": [
    {
      object (RagResource)
    }
  ],
  "vectorDistanceThreshold": number
}
Fields
ragCorpora[]
(deprecated)

string

Optional. Deprecated. Please use ragResources to specify the data source.

ragResources[]

object (RagResource)

Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.

vectorDistanceThreshold

number

Optional. Only return contexts with vector distance smaller than the threshold.

RagResource

The definition of the Rag resource.

JSON representation
{
  "ragCorpus": string,
  "ragFileIds": [
    string
  ]
}
Fields
ragCorpus

string

Optional. RagCorpora resource name. Format: projects/{project}/locations/{location}/ragCorpora/{ragCorpus}

ragFileIds[]

string

Optional. ragFileId. The files should be in the same ragCorpus set in ragCorpus field.

RagQuery

A query to retrieve relevant contexts.

JSON representation
{
  "similarityTopK": integer,

  // Union field query can be only one of the following:
  "text": string
  // End of list of possible types for union field query.
}
Fields
similarityTopK

integer

Optional. The number of contexts to retrieve.

Union field query. The query to retrieve contexts. Currently only text query is supported. query can be only one of the following:
text

string

Optional. The query in text format to get relevant contexts.

RagContexts

Relevant contexts for one query.

JSON representation
{
  "contexts": [
    {
      object (Context)
    }
  ]
}
Fields
contexts[]

object (Context)

All its contexts.

Context

A context of the query.

JSON representation
{
  "sourceUri": string,
  "text": string,
  "distance": number
}
Fields
sourceUri

string

For vertex RagStore, if the file is imported from Cloud Storage or Google Drive, sourceUri will be original file URI in Cloud Storage or Google Drive; if file is uploaded, sourceUri will be file display name.

text

string

The text chunk.

distance

number

The distance between the query vector and the context text vector.