GEPA.LLM.Request (GEPA v0.3.0)

Copy Markdown View Source

Normalized request passed from GEPA to LLM adapters.

Summary

Functions

Render prompt messages to plain text for adapters that only support text.

Types

prompt()

@type prompt() :: String.t() | [map()]

t()

@type t() :: %GEPA.LLM.Request{
  input: prompt() | nil,
  max_tokens: pos_integer() | nil,
  messages: [map()] | nil,
  metadata: map(),
  model: String.t() | nil,
  provider_opts: keyword(),
  schema: keyword() | map() | nil,
  session: term(),
  stream?: boolean(),
  system: String.t() | nil,
  temperature: float() | nil,
  timeout: pos_integer() | nil,
  tool_choice: :auto | :none | :required | {:tool, String.t()} | nil,
  tools: [term()],
  top_p: float() | nil
}

Functions

from_prompt(prompt, opts \\ [])

@spec from_prompt(
  prompt(),
  keyword()
) :: t()

prompt(request)

@spec prompt(t()) :: prompt() | nil

structured(prompt, opts \\ [])

@spec structured(
  prompt(),
  keyword()
) :: t()

to_text(prompt)

@spec to_text(prompt() | nil) :: String.t() | nil

Render prompt messages to plain text for adapters that only support text.