---
title: base | CodeWeaver Docs
description: API reference for codeweaver.providers.embedding.capabilities.base
url: "https://docs.knitli.com/api/providers/embedding/capabilities/base"
type: static
generatedAt: "2026-04-17T17:21:09.044Z"
---

# base
       [Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[View in Markdown](/codeweaver/api/providers/embedding/capabilities/base.md)       [Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F)[Share on X](https://x.com/intent/tweet?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F&text=base)[Share on Threads](https://threads.net/intent/post?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F&text=base)[Share on Bluesky](https://bsky.app/intent/compose?text=base%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F)[Share on Reddit](https://reddit.com/submit?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F&title=base)[Share on Hacker News](https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F&t=base)[Share on Email](mailto:?subject=base&body=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F)[Share on WhatsApp](https://wa.me/?text=base%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F)[Share on Telegram](https://t.me/share/url?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fembedding%2Fcapabilities%2Fbase%2F&text=base)
# `codeweaver.providers.embedding.capabilities.base`
[Section titled “codeweaver.providers.embedding.capabilities.base”](#codeweaverprovidersembeddingcapabilitiesbase)
Base types and models for CodeWeaver embedding models.

## Class: `EmbeddingModelCapabilities`
[Section titled “Class: EmbeddingModelCapabilities”](#class-embeddingmodelcapabilities)
Describes the capabilities of an embedding model, such as the default dimension.

### Method: `default`
[Section titled “Method: default”](#method-default)

**

```
default()
```

Create a default instance of the model profile.

### Method: `from_capabilities`
[Section titled “Method: from_capabilities”](#method-from_capabilities)

**

```
from_capabilities()
```

Create an instance from a dictionary of capabilities.

## Class: `ModelFamily`
[Section titled “Class: ModelFamily”](#class-modelfamily)
Defines a family of embedding models with compatible vector spaces.

Model families group embedding models that produce compatible embeddings, meaning their vectors can be directly compared and stored in the same vector space. This enables cross-model operations like using different models for embedding vs querying, or migrating between models within a family without re-embedding. All datatypes and dimensions must still match.

Attributes: family_id: Unique identifier for the model family (e.g., “voyage-3”, “cohere-v3”). default_dimension: Dimensionality of the embedding vectors in this family. output_dimensions: tuple of possible output dimensions for models in this family. default_dtype: Data type of vector components (default: “float16”). output_dtypes: Accepted data types for model outputs within this family. is_normalized: Whether embeddings are normalized to unit length. preferred_metrics: Preferred distance metrics for this family, in order of suitability. member_models: Set of model names belonging to this family. asymmetric_query_models: Optional set of specialized query-only models. cross_provider_compatible: Whether this family maintains compatibility across providers.

### Method: `is_compatible`
[Section titled “Method: is_compatible”](#method-is_compatible)

**

```
is_compatible()
```

Check if two models are compatible within this family.

Models are compatible if both are members of the family, allowing their embeddings to be directly compared in the same vector space.

Args: embed_model: Name of the model used for embedding documents. query_model: Name of the model used for queries.

Returns: True if both models belong to this family’s member models, False otherwise.

### Method: `validate_dimensions`
[Section titled “Method: validate_dimensions”](#method-validate_dimensions)

**

```
validate_dimensions()
```

Validate that embedding dimensions match the family specification.

Args: embed_dim: Dimension of the embedding model’s output. query_dim: Dimension of the query model’s output.

Returns: Tuple of (is_valid, error_message). If valid, error_message is None. If invalid, error_message describes the dimension mismatch.

## Class: `SparseCapabilities`
[Section titled “Class: SparseCapabilities”](#class-sparsecapabilities)
Sparse embedding model capabilities for dependency injection.

## Class: `SparseEmbeddingModelCapabilities`
[Section titled “Class: SparseEmbeddingModelCapabilities”](#class-sparseembeddingmodelcapabilities)
A model describing the capabilities of a sparse embedding model.

Sparse embeddings are much simpler than dense embeddings, so this model is much simpler.

## Function: `get_sparse_caps`
[Section titled “Function: get_sparse_caps”](#function-get_sparse_caps)

**

```
get_sparse_caps()
```

Get sparse embedding model capabilities.