Aludel.Prompts.Optimization (aludel v0.6.0)

Copy Markdown View Source

Multi-objective prompt analysis inspired by GEPA's Pareto selection.

Summary

Functions

accept_suggestion(suggestion_id, prompt_id \\ nil)

@spec accept_suggestion(binary(), binary() | nil) ::
  {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, term()}

analyze(metrics)

@spec analyze([map()]) :: %{candidates: [map()], frontier: [map()]}

create_suggestion(attrs)

@spec create_suggestion(map()) ::
  {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, Ecto.Changeset.t()}

dismiss_suggestion(suggestion_id, prompt_id \\ nil)

@spec dismiss_suggestion(binary(), binary() | nil) ::
  {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, term()}

generate_suggestion(source_version_id, suite_id, provider_id)

@spec generate_suggestion(binary(), binary(), binary()) ::
  {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, term()}

list_suggestions(prompt_id)

@spec list_suggestions(binary()) :: [Aludel.Prompts.PromptSuggestion.t()]