Skip to content

Configure Vector Store

client.VectorStores.Configure(ctx, vectorStoreName, body) (*VectorStore, error)
POST/v5/vector-stores/{vector_store_name}/configure

Update the indexed metadata fields configuration for a vector store.

This replaces the current set of indexed metadata fields. Only indexed fields can be used for filtering during query, list, and count operations; non-indexed fields are still stored and returned, but cannot be filtered on.

Field Types: Only STRING, NUMBER, and BOOLEAN fields can be indexed (maximum 20 fields). OBJECT and LIST types are stored but cannot be indexed for filtering.

Adding Fields: New indexed fields can be added at any time. They are indexed for documents upserted after the change; to make existing documents filterable on a new field, re-upsert them.

Removing Fields: Omitting a field removes it from this configuration, so it can no longer be filtered on. The underlying index is append-only, so removal does not reclaim storage or reduce write overhead; the field stays in the physical index until the store is recreated. Prefer indexing only the fields you filter on.

Note: The name and embedding_config are immutable after creation.

ParametersExpand Collapse
vectorStoreName string

The name of the vector store

body VectorStoreConfigureParams
IndexedMetadataFields param.Field[map[string, string]]

Dictionary mapping metadata field names to their types. Only STRING, NUMBER, and BOOLEAN types can be indexed.

const VectorStoreConfigureParamsIndexedMetadataFieldString VectorStoreConfigureParamsIndexedMetadataField = "string"
const VectorStoreConfigureParamsIndexedMetadataFieldNumber VectorStoreConfigureParamsIndexedMetadataField = "number"
const VectorStoreConfigureParamsIndexedMetadataFieldBoolean VectorStoreConfigureParamsIndexedMetadataField = "boolean"
ReturnsExpand Collapse
type VectorStore struct{…}

Response model for vector store operations.

ID string

The unique identifier of the vector store

CreatedAt Time

Timestamp of creation

formatdate-time
EmbeddingDimensions int64

Dimensionality of the embedding vectors

Name string

The name of the vector store

UpdatedAt Time

Timestamp of last update

formatdate-time
EmbeddingConfig EmbeddingConfigUnionOptional

Embedding configuration identifying the model and its type. None for raw-embedding-only stores.

One of the following:
type EmbeddingConfigModelsAPI struct{…}
ModelDeploymentID string

The ID of the deployment of the created model in the Models API V3.

Type ModelsAPI

The type of the embedding configuration.

type EmbeddingConfigBase struct{…}
EmbeddingModel EmbeddingModelName

The name of the base embedding model to use. Either a known base model (EmbeddingModelName) or, in ray-serve deployments with NATIVE_OPENAI_EMBEDDING_GATEWAY enabled, any model id served by the OpenAI-compatible inference proxy (e.g. ‘nomic-embed-text-v1.5’). For fully custom deployments, use type ‘models_api’ with a model_deployment_id.

One of the following:
type EmbeddingModelName string
One of the following:
const EmbeddingModelNameSentenceTransformersAllMiniLmL12V2 EmbeddingModelName = "sentence-transformers/all-MiniLM-L12-v2"
const EmbeddingModelNameSentenceTransformersMultiQaDistilbertCosV1 EmbeddingModelName = "sentence-transformers/multi-qa-distilbert-cos-v1"
const EmbeddingModelNameOpenAITextEmbeddingAda002 EmbeddingModelName = "openai/text-embedding-ada-002"
const EmbeddingModelNameOpenAITextEmbedding3Small EmbeddingModelName = "openai/text-embedding-3-small"
const EmbeddingModelNameOpenAITextEmbedding3Large EmbeddingModelName = "openai/text-embedding-3-large"
const EmbeddingModelNameEmbedEnglishV3_0 EmbeddingModelName = "embed-english-v3.0"
const EmbeddingModelNameEmbedEnglishLightV3_0 EmbeddingModelName = "embed-english-light-v3.0"
const EmbeddingModelNameEmbedMultilingualV3_0 EmbeddingModelName = "embed-multilingual-v3.0"
const EmbeddingModelNameGeminiTextEmbedding005 EmbeddingModelName = "gemini/text-embedding-005"
const EmbeddingModelNameGeminiTextMultilingualEmbedding002 EmbeddingModelName = "gemini/text-multilingual-embedding-002"
const EmbeddingModelNameGeminiGeminiEmbedding001 EmbeddingModelName = "gemini/gemini-embedding-001"
string
Type EmbeddingConfigBaseTypeOptional

The type of the embedding configuration.

IndexedMetadataFields map[string, string]Optional

Dictionary mapping metadata field names to their types

One of the following:
const VectorStoreIndexedMetadataFieldString VectorStoreIndexedMetadataField = "string"
const VectorStoreIndexedMetadataFieldNumber VectorStoreIndexedMetadataField = "number"
const VectorStoreIndexedMetadataFieldBoolean VectorStoreIndexedMetadataField = "boolean"

Configure Vector Store

package main

import (
  "context"
  "fmt"

  "github.com/scaleapi/sgp-dev-go"
  "github.com/scaleapi/sgp-dev-go/option"
)

func main() {
  client := sgpdev.NewClient(
    option.WithAPIKey("My API Key"),
    option.WithAccountID("My Account ID"),
  )
  vectorStore, err := client.VectorStores.Configure(
    context.TODO(),
    "vector_store_name",
    sgpdev.VectorStoreConfigureParams{
      IndexedMetadataFields: map[string]string{
      "foo": "string",
      },
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", vectorStore.ID)
}
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "embedding_dimensions": 0,
  "name": "name",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "embedding_config": {
    "model_deployment_id": "model_deployment_id",
    "type": "models_api"
  },
  "indexed_metadata_fields": {
    "foo": "string"
  }
}
Returns Examples
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "embedding_dimensions": 0,
  "name": "name",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "embedding_config": {
    "model_deployment_id": "model_deployment_id",
    "type": "models_api"
  },
  "indexed_metadata_fields": {
    "foo": "string"
  }
}