# `Gralkor.Config`
[🔗](https://github.com/elimydlarz/gralkor/blob/main/lib/gralkor/config.ex#L1)

Configuration for the embedded Gralkor runtime.

Single source of truth for default LLM and embedder model selection. Both
graphiti-core's bundled Python clients (used inside `add_episode` / `search`)
and req_llm (used by `Gralkor.Distill` / `Gralkor.Interpret` for Elixir-side
pre/post-processing) read from here.

Models are stored as req_llm-style `"provider:model"` strings — when graphiti
needs them split, the provider/model halves are extracted at the call site.

# `t`

```elixir
@type t() :: %Gralkor.Config{
  data_dir: String.t(),
  embedder_model: String.t() | nil,
  llm_model: String.t() | nil
}
```

# `embedder_model`

```elixir
@spec embedder_model(t()) :: String.t()
```

# `from_env`

```elixir
@spec from_env() :: t()
```

# `llm_model`

```elixir
@spec llm_model(t()) :: String.t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
