AI (PhoenixAI v0.1.0)

Copy Markdown View Source

Thin facade for interacting with AI providers.

Usage

AI.chat(
  [%PhoenixAI.Message{role: :user, content: "Hello"}],
  provider: :openai,
  model: "gpt-4o"
)

Configuration Cascade

Options resolve in order: call-site > config.exs > env vars > provider defaults.

Summary

Functions

chat(messages, opts \\ [])

@spec chat(
  [PhoenixAI.Message.t()],
  keyword()
) :: {:ok, PhoenixAI.Response.t()} | {:error, term()}

provider_module(mod)

@spec provider_module(atom()) :: module()

stream(messages, opts \\ [])

@spec stream(
  [PhoenixAI.Message.t()],
  keyword()
) :: {:ok, PhoenixAI.Response.t()} | {:error, term()}