# `Planck.AI.ReqLLMBehaviour`
[🔗](https://github.com/alexdesousa/planck/blob/v0.1.0/lib/planck/ai/req_llm_behaviour.ex#L1)

Behaviour wrapping the `req_llm` streaming call.

Exists so that `Planck.AI.Adapter` can be tested without making real HTTP
requests. In production, `Planck.AI.ReqLLM` delegates directly to
`ReqLLM.stream_text/3`. In tests, `Planck.AI.MockReqLLM` is injected via
application config.

# `stream_text`

```elixir
@callback stream_text(model_spec :: term(), messages :: term(), opts :: keyword()) ::
  {:ok, term()} | {:error, term()}
```

---

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