# `GEPA.Embeddings.ReqLLM`
[🔗](https://github.com/nshkrdotcom/gepa_ex/blob/v0.3.0/lib/gepa/embeddings/req_llm.ex#L1)

ReqLLM-backed embedding provider.

Gemini is the default provider because the integration-foundation path uses
ReqLLM for Gemini embeddings while inference defaults to Agent Session
Manager's Gemini CLI adapter.

# `provider`

```elixir
@type provider() :: :gemini | :openai
```

# `t`

```elixir
@type t() :: %GEPA.Embeddings.ReqLLM{
  api_key: String.t() | nil,
  dimensions: pos_integer() | nil,
  env: (String.t() -&gt; String.t() | nil),
  model: String.t(),
  provider: provider(),
  provider_options: keyword() | map(),
  req_llm_module: module(),
  req_options: keyword()
}
```

# `new`

```elixir
@spec new(keyword() | map()) :: {:ok, t()} | {:error, term()}
```

Build a ReqLLM embedding provider.

# `new!`

```elixir
@spec new!(keyword() | map()) :: t()
```

Build a ReqLLM embedding provider or raise.

---

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