Aludel.Execution (aludel v0.5.1)

Copy Markdown View Source

Shared execution boundary for native provider calls and host-app callbacks.

Summary

Types

request()

@type request() :: %{
  optional(:documents) => [Aludel.Evals.TestCaseDocument.t()],
  optional(:messages) => [map()],
  optional(:metadata) => map(),
  kind: :run | :suite,
  prompt_version: Aludel.Prompts.PromptVersion.t(),
  variables: map(),
  provider: Aludel.Providers.Provider.t()
}

result()

@type result() :: %{
  output: String.t(),
  input_tokens: non_neg_integer() | nil,
  output_tokens: non_neg_integer() | nil,
  latency_ms: non_neg_integer() | nil,
  cost_usd: float() | nil,
  metadata: map() | nil,
  artifacts: map()
}

Functions

execute(request)

@spec execute(request()) :: {:ok, result()} | {:error, term()}

execute_with_artifacts(request)

@spec execute_with_artifacts(request()) :: {:ok, result()} | {:error, term(), map()}