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

# LLM factories (tai42_kit.llm)

> LLM, embedding, checkpoint, and store factories.

LLM provider factories + the LangGraph checkpoint/store registries.

The chat-model and embedding factories cache per `(provider, kwargs)` and
import their langchain provider package lazily inside the build; the registry
accessors return the running event loop's singletons that pool checkpoint/store
connection resources. Importing this package pulls `langchain_core` /
`langgraph` — that is the opt-in boundary (the `tai42_kit` top level stays
vendor-free).

## checkpoint\_registry

`tai42_kit.llm.checkpoint.checkpoint_registry.checkpoint_registry`

```python theme={null}
checkpoint_registry() -> CheckpointRegistry
```

Return the CheckpointRegistry for the running event loop.

One registry per loop; after `close_all()` the next call builds a fresh
registry instead of returning the closed one.

## get\_embedding

`tai42_kit.llm.embedding.get_embedding`

```python theme={null}
get_embedding(provider: str, **kwargs) -> Embeddings
```

**Parameters**

| Parameter  | Type  | Default | Description |
| ---------- | ----- | ------- | ----------- |
| `provider` | `str` | —       | —           |
| `kwargs`   | —     | `{}`    | —           |

## get\_embedding\_async

`tai42_kit.llm.embedding.get_embedding_async`

```python theme={null}
async get_embedding_async(provider: str, **kwargs) -> Embeddings
```

**Parameters**

| Parameter  | Type  | Default | Description |
| ---------- | ----- | ------- | ----------- |
| `provider` | `str` | —       | —           |
| `kwargs`   | —     | `{}`    | —           |

## get\_llm

`tai42_kit.llm.models.get_llm`

```python theme={null}
get_llm(provider: str, **kwargs) -> BaseChatModel
```

**Parameters**

| Parameter  | Type  | Default | Description |
| ---------- | ----- | ------- | ----------- |
| `provider` | `str` | —       | —           |
| `kwargs`   | —     | `{}`    | —           |

## get\_llm\_async

`tai42_kit.llm.models.get_llm_async`

```python theme={null}
async get_llm_async(provider: str, **kwargs) -> BaseChatModel
```

**Parameters**

| Parameter  | Type  | Default | Description |
| ---------- | ----- | ------- | ----------- |
| `provider` | `str` | —       | —           |
| `kwargs`   | —     | `{}`    | —           |

## store\_registry

`tai42_kit.llm.store.store_registry.store_registry`

```python theme={null}
store_registry() -> StoreRegistry
```

Return the StoreRegistry for the running event loop.

One registry per loop; after `close_all()` the next call builds a fresh
registry instead of returning the closed one.
