Miosa.Completions (Miosa v1.0.0)

Copy Markdown View Source

OpenAI-compatible chat and text completion endpoints.

Routes live under /api/v1/intelligence/ and require an mki_* intelligence key. Streaming endpoints call callback for each SSE event.

Summary

Functions

Create a chat completion (POST /intelligence/chat/completions).

Create a text completion (POST /intelligence/completions).

Functions

chat(client, model, messages, opts \\ %{}, callback \\ nil)

@spec chat(Miosa.Client.t(), String.t(), list(), map(), function() | nil) ::
  Miosa.Client.result(map()) | :ok | {:error, Miosa.Error.t()}

Create a chat completion (POST /intelligence/chat/completions).

Parameters

  • model — Model ID string.
  • messages — List of message maps (%{"role" => ..., "content" => ...}).
  • opts — Optional extra body params (:temperature, :max_tokens, etc.).
  • callback — Required when opts.stream == true. Called with each SSE event map.

When :stream is false (default), returns {:ok, response_map}.

create(client, model, opts \\ %{}, callback \\ nil)

@spec create(Miosa.Client.t(), String.t(), map(), function() | nil) ::
  Miosa.Client.result(map()) | :ok | {:error, Miosa.Error.t()}

Create a text completion (POST /intelligence/completions).

Options

  • :stream — When true, streams SSE events via callback. Defaults to false.
  • :prompt — Text prompt (string or list of strings).
  • Any extra key is forwarded to the API body.

When :stream is false, returns {:ok, response_map}. When :stream is true, pass a callback function; returns :ok or {:error, reason}.