Syntropy.LLMClient.Config (syntropy v0.1.0)

Copy Markdown

Runtime provider settings for Syntropy completions.

Summary

Types

provider()

@type provider() :: :mock | :openai | :ollama | :unsupported

t()

@type t() :: %Syntropy.LLMClient.Config{
  api_key: String.t() | nil,
  assistant_prefill: String.t() | nil,
  base_url: String.t() | nil,
  disable_thinking: boolean(),
  max_concurrency: pos_integer() | nil,
  max_tokens: pos_integer() | nil,
  model: String.t() | nil,
  profile: String.t(),
  provider: provider(),
  provider_module: module() | nil,
  repeat_penalty: float() | nil,
  retry_count: non_neg_integer(),
  temperature: float() | nil,
  timeout_ms: pos_integer(),
  top_p: float() | nil
}

Functions

call_timeout(config)

@spec call_timeout(t()) :: pos_integer()

load()

@spec load() :: t()

provider_name(config)

@spec provider_name(t()) :: String.t()

validate(config)

@spec validate(t()) :: :ok | {:error, [String.t()]}