## Configure Vector Store

`vector_stores.configure(strvector_store_name, VectorStoreConfigureParams**kwargs)  -> VectorStore`

**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.

### Parameters

- `vector_store_name: str`

  The name of the vector store

- `indexed_metadata_fields: Dict[str, Literal["string", "number", "boolean"]]`

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

  - `"string"`

  - `"number"`

  - `"boolean"`

### Returns

- `class VectorStore: …`

  Response model for vector store operations.

  - `id: str`

    The unique identifier of the vector store

  - `created_at: datetime`

    Timestamp of creation

  - `embedding_dimensions: int`

    Dimensionality of the embedding vectors

  - `name: str`

    The name of the vector store

  - `updated_at: datetime`

    Timestamp of last update

  - `embedding_config: Optional[EmbeddingConfig]`

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

    - `class EmbeddingConfigModelsAPI: …`

      - `model_deployment_id: str`

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

      - `type: Literal["models_api"]`

        The type of the embedding configuration.

        - `"models_api"`

    - `class EmbeddingConfigBase: …`

      - `embedding_model: Union[EmbeddingModelName, str]`

        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.

        - `Literal["sentence-transformers/all-MiniLM-L12-v2", "sentence-transformers/multi-qa-distilbert-cos-v1", "openai/text-embedding-ada-002", 8 more]`

          - `"sentence-transformers/all-MiniLM-L12-v2"`

          - `"sentence-transformers/multi-qa-distilbert-cos-v1"`

          - `"openai/text-embedding-ada-002"`

          - `"openai/text-embedding-3-small"`

          - `"openai/text-embedding-3-large"`

          - `"embed-english-v3.0"`

          - `"embed-english-light-v3.0"`

          - `"embed-multilingual-v3.0"`

          - `"gemini/text-embedding-005"`

          - `"gemini/text-multilingual-embedding-002"`

          - `"gemini/gemini-embedding-001"`

        - `str`

      - `type: Optional[Literal["base"]]`

        The type of the embedding configuration.

        - `"base"`

  - `indexed_metadata_fields: Optional[Dict[str, Literal["string", "number", "boolean"]]]`

    Dictionary mapping metadata field names to their types

    - `"string"`

    - `"number"`

    - `"boolean"`

### Example

```python
import os
from scale_gp_beta import SGPClient

client = SGPClient(
    api_key=os.environ.get("SGP_API_KEY"),  # This is the default and can be omitted
)
vector_store = client.vector_stores.configure(
    vector_store_name="vector_store_name",
    indexed_metadata_fields={
        "foo": "string"
    },
)
print(vector_store.id)
```

#### Response

```json
{
  "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"
  }
}
```
