# Generated by SnakeBridge v0.13.0 - DO NOT EDIT MANUALLY # Regenerate with: mix compile # Library: dspy 3.1.2 # Python module: dspy.teleprompt.simba_utils defmodule Dspy.Teleprompt.SimbaUtils do @moduledoc """ Submodule bindings for `dspy.teleprompt.simba_utils`. ## Version - Requested: 3.1.2 - Observed at generation: 3.1.2 ## Runtime Options All functions accept a `__runtime__` option for controlling execution behavior: Dspy.Teleprompt.SimbaUtils.some_function(args, __runtime__: [timeout: 120_000]) ### Supported runtime options - `:timeout` - Call timeout in milliseconds (default: 120,000ms / 2 minutes) - `:timeout_profile` - Use a named profile (`:default`, `:ml_inference`, `:batch_job`, `:streaming`) - `:stream_timeout` - Timeout for streaming operations (default: 1,800,000ms / 30 minutes) - `:session_id` - Override the session ID for this call - `:pool_name` - Target a specific Snakepit pool (multi-pool setups) - `:affinity` - Override session affinity (`:hint`, `:strict_queue`, `:strict_fail_fast`) ### Timeout Profiles - `:default` - 2 minute timeout for regular calls - `:ml_inference` - 10 minute timeout for ML/LLM workloads - `:batch_job` - Unlimited timeout for long-running jobs - `:streaming` - 2 minute timeout, 30 minute stream_timeout ### Example with timeout override # For a long-running ML inference call Dspy.Teleprompt.SimbaUtils.predict(data, __runtime__: [timeout_profile: :ml_inference]) # Or explicit timeout Dspy.Teleprompt.SimbaUtils.predict(data, __runtime__: [timeout: 600_000]) # Route to a pool and enforce strict affinity Dspy.Teleprompt.SimbaUtils.predict(data, __runtime__: [pool_name: :strict_pool, affinity: :strict_queue]) See `SnakeBridge.Defaults` for global timeout configuration. """ @doc false def __snakebridge_python_name__, do: "dspy.teleprompt.simba_utils" @doc false def __snakebridge_library__, do: "dspy" @doc """ Python binding for `dspy.teleprompt.simba_utils.append_a_demo`. ## Parameters - `demo_input_field_maxlen` (term()) ## Returns - `term()` """ @spec append_a_demo(term(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()} def append_a_demo(demo_input_field_maxlen, opts \\ []) do SnakeBridge.Runtime.call(__MODULE__, :append_a_demo, [demo_input_field_maxlen], opts) end @doc """ Python binding for `dspy.teleprompt.simba_utils.append_a_rule`. ## Parameters - `bucket` (term()) - `system` (term()) - `kwargs` (term()) ## Returns - `term()` """ @spec append_a_rule(term(), term(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()} def append_a_rule(bucket, system, opts \\ []) do SnakeBridge.Runtime.call(__MODULE__, :append_a_rule, [bucket, system], opts) end @doc """ Python binding for `dspy.teleprompt.simba_utils.inspect_modules`. ## Parameters - `program` (term()) ## Returns - `term()` """ @spec inspect_modules(term(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()} def inspect_modules(program, opts \\ []) do SnakeBridge.Runtime.call(__MODULE__, :inspect_modules, [program], opts) end @doc """ Python binding for `dspy.teleprompt.simba_utils.prepare_models_for_resampling`. ## Parameters - `program` (Dspy.Primitives.Module.Module.t()) - `n` (integer()) - `teacher_settings` (term() default: None) ## Returns - `term()` """ @spec prepare_models_for_resampling(Dspy.Primitives.Module.Module.t(), integer()) :: {:ok, term()} | {:error, Snakepit.Error.t()} @spec prepare_models_for_resampling(Dspy.Primitives.Module.Module.t(), integer(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()} @spec prepare_models_for_resampling(Dspy.Primitives.Module.Module.t(), integer(), term()) :: {:ok, term()} | {:error, Snakepit.Error.t()} @spec prepare_models_for_resampling( Dspy.Primitives.Module.Module.t(), integer(), term(), keyword() ) :: {:ok, term()} | {:error, Snakepit.Error.t()} def prepare_models_for_resampling(program, n) do SnakeBridge.Runtime.call(__MODULE__, :prepare_models_for_resampling, [program, n], []) end def prepare_models_for_resampling(program, n, opts) when is_list(opts) and (opts == [] or (is_tuple(hd(opts)) and tuple_size(hd(opts)) == 2 and is_atom(elem(hd(opts), 0)))) do SnakeBridge.Runtime.call(__MODULE__, :prepare_models_for_resampling, [program, n], opts) end def prepare_models_for_resampling(program, n, teacher_settings) do SnakeBridge.Runtime.call( __MODULE__, :prepare_models_for_resampling, [program, n, teacher_settings], [] ) end def prepare_models_for_resampling(program, n, teacher_settings, opts) when is_list(opts) and (opts == [] or (is_tuple(hd(opts)) and tuple_size(hd(opts)) == 2 and is_atom(elem(hd(opts), 0)))) do SnakeBridge.Runtime.call( __MODULE__, :prepare_models_for_resampling, [program, n, teacher_settings], opts ) end @doc """ Python binding for `dspy.teleprompt.simba_utils.recursive_mask`. ## Parameters - `o` (term()) ## Returns - `term()` """ @spec recursive_mask(term(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()} def recursive_mask(o, opts \\ []) do SnakeBridge.Runtime.call(__MODULE__, :recursive_mask, [o], opts) end @doc """ Python binding for `dspy.teleprompt.simba_utils.wrap_program`. ## Parameters - `program` (Dspy.Primitives.Module.Module.t()) - `metric` (term()) ## Returns - `term()` """ @spec wrap_program(Dspy.Primitives.Module.Module.t(), term(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()} def wrap_program(program, metric, opts \\ []) do SnakeBridge.Runtime.call(__MODULE__, :wrap_program, [program, metric], opts) end end