> ## Documentation Index
> Fetch the complete documentation index at: https://icrl.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Embedders

> Python embedding implementations and defaults

## Available Embedders

* `HashEmbedder` (default)
* `SentenceTransformerEmbedder`

## HashEmbedder

```python theme={null}
HashEmbedder(dimension: int = 384, seed: str = "icrl-hash-v1")
```

* deterministic
* offline-safe
* fast startup

## SentenceTransformerEmbedder

```python theme={null}
SentenceTransformerEmbedder(
    model_name: str = "all-MiniLM-L6-v2",
    allow_download: bool | None = None,
)
```

## Default Selection

`default_embedder()` chooses based on env vars:

* `ICRL_EMBEDDER=hash` (default)
* `ICRL_EMBEDDER=sentence-transformers` (or `st` aliases)
* `ICRL_EMBEDDER_ALLOW_DOWNLOAD=1` to permit model download

If sentence-transformers initialization fails, it falls back to `HashEmbedder`.
