Current section

Files

Jump to
dspex lib snakebridge_generated dspy clients lm __init__.ex
Raw

lib/snakebridge_generated/dspy/clients/lm/__init__.ex

# Generated by SnakeBridge v0.13.0 - DO NOT EDIT MANUALLY
# Regenerate with: mix compile
# Library: dspy 3.1.2
# Python module: dspy.clients.lm
defmodule Dspy.Clients.Lm do
@moduledoc """
Submodule bindings for `dspy.clients.lm`.
## Version
- Requested: 3.1.2
- Observed at generation: 3.1.2
## Runtime Options
All functions accept a `__runtime__` option for controlling execution behavior:
Dspy.Clients.Lm.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.Clients.Lm.predict(data, __runtime__: [timeout_profile: :ml_inference])
# Or explicit timeout
Dspy.Clients.Lm.predict(data, __runtime__: [timeout: 600_000])
# Route to a pool and enforce strict affinity
Dspy.Clients.Lm.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.clients.lm"
@doc false
def __snakebridge_library__, do: "dspy"
@doc """
Python binding for `dspy.clients.lm.alitellm_completion`.
## Parameters
- `request` (%{optional(String.t()) => term()})
- `num_retries` (integer())
- `cache` (term() default: None)
## Returns
- `term()`
"""
@spec alitellm_completion(%{optional(String.t()) => term()}, integer()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec alitellm_completion(%{optional(String.t()) => term()}, integer(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec alitellm_completion(%{optional(String.t()) => term()}, integer(), term()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec alitellm_completion(%{optional(String.t()) => term()}, integer(), term(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
def alitellm_completion(request, num_retries) do
SnakeBridge.Runtime.call(__MODULE__, :alitellm_completion, [request, num_retries], [])
end
def alitellm_completion(request, num_retries, 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__, :alitellm_completion, [request, num_retries], opts)
end
def alitellm_completion(request, num_retries, cache) do
SnakeBridge.Runtime.call(__MODULE__, :alitellm_completion, [request, num_retries, cache], [])
end
def alitellm_completion(request, num_retries, cache, 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__,
:alitellm_completion,
[request, num_retries, cache],
opts
)
end
@doc """
Python binding for `dspy.clients.lm.alitellm_responses_completion`.
## Parameters
- `request` (%{optional(String.t()) => term()})
- `num_retries` (integer())
- `cache` (term() default: None)
## Returns
- `term()`
"""
@spec alitellm_responses_completion(%{optional(String.t()) => term()}, integer()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec alitellm_responses_completion(%{optional(String.t()) => term()}, integer(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec alitellm_responses_completion(%{optional(String.t()) => term()}, integer(), term()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec alitellm_responses_completion(
%{optional(String.t()) => term()},
integer(),
term(),
keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
def alitellm_responses_completion(request, num_retries) do
SnakeBridge.Runtime.call(
__MODULE__,
:alitellm_responses_completion,
[request, num_retries],
[]
)
end
def alitellm_responses_completion(request, num_retries, 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__,
:alitellm_responses_completion,
[request, num_retries],
opts
)
end
def alitellm_responses_completion(request, num_retries, cache) do
SnakeBridge.Runtime.call(
__MODULE__,
:alitellm_responses_completion,
[request, num_retries, cache],
[]
)
end
def alitellm_responses_completion(request, num_retries, cache, 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__,
:alitellm_responses_completion,
[request, num_retries, cache],
opts
)
end
@doc """
Python binding for `dspy.clients.lm.alitellm_text_completion`.
## Parameters
- `request` (%{optional(String.t()) => term()})
- `num_retries` (integer())
- `cache` (term() default: None)
## Returns
- `term()`
"""
@spec alitellm_text_completion(%{optional(String.t()) => term()}, integer()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec alitellm_text_completion(%{optional(String.t()) => term()}, integer(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec alitellm_text_completion(%{optional(String.t()) => term()}, integer(), term()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec alitellm_text_completion(%{optional(String.t()) => term()}, integer(), term(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
def alitellm_text_completion(request, num_retries) do
SnakeBridge.Runtime.call(__MODULE__, :alitellm_text_completion, [request, num_retries], [])
end
def alitellm_text_completion(request, num_retries, 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__, :alitellm_text_completion, [request, num_retries], opts)
end
def alitellm_text_completion(request, num_retries, cache) do
SnakeBridge.Runtime.call(
__MODULE__,
:alitellm_text_completion,
[request, num_retries, cache],
[]
)
end
def alitellm_text_completion(request, num_retries, cache, 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__,
:alitellm_text_completion,
[request, num_retries, cache],
opts
)
end
@doc """
Python binding for `dspy.clients.lm.litellm_completion`.
## Parameters
- `request` (%{optional(String.t()) => term()})
- `num_retries` (integer())
- `cache` (term() default: None)
## Returns
- `term()`
"""
@spec litellm_completion(%{optional(String.t()) => term()}, integer()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec litellm_completion(%{optional(String.t()) => term()}, integer(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec litellm_completion(%{optional(String.t()) => term()}, integer(), term()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec litellm_completion(%{optional(String.t()) => term()}, integer(), term(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
def litellm_completion(request, num_retries) do
SnakeBridge.Runtime.call(__MODULE__, :litellm_completion, [request, num_retries], [])
end
def litellm_completion(request, num_retries, 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__, :litellm_completion, [request, num_retries], opts)
end
def litellm_completion(request, num_retries, cache) do
SnakeBridge.Runtime.call(__MODULE__, :litellm_completion, [request, num_retries, cache], [])
end
def litellm_completion(request, num_retries, cache, 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__, :litellm_completion, [request, num_retries, cache], opts)
end
@doc """
Python binding for `dspy.clients.lm.litellm_responses_completion`.
## Parameters
- `request` (%{optional(String.t()) => term()})
- `num_retries` (integer())
- `cache` (term() default: None)
## Returns
- `term()`
"""
@spec litellm_responses_completion(%{optional(String.t()) => term()}, integer()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec litellm_responses_completion(%{optional(String.t()) => term()}, integer(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec litellm_responses_completion(%{optional(String.t()) => term()}, integer(), term()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec litellm_responses_completion(
%{optional(String.t()) => term()},
integer(),
term(),
keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
def litellm_responses_completion(request, num_retries) do
SnakeBridge.Runtime.call(
__MODULE__,
:litellm_responses_completion,
[request, num_retries],
[]
)
end
def litellm_responses_completion(request, num_retries, 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__,
:litellm_responses_completion,
[request, num_retries],
opts
)
end
def litellm_responses_completion(request, num_retries, cache) do
SnakeBridge.Runtime.call(
__MODULE__,
:litellm_responses_completion,
[request, num_retries, cache],
[]
)
end
def litellm_responses_completion(request, num_retries, cache, 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__,
:litellm_responses_completion,
[request, num_retries, cache],
opts
)
end
@doc """
Python binding for `dspy.clients.lm.litellm_text_completion`.
## Parameters
- `request` (%{optional(String.t()) => term()})
- `num_retries` (integer())
- `cache` (term() default: None)
## Returns
- `term()`
"""
@spec litellm_text_completion(%{optional(String.t()) => term()}, integer()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec litellm_text_completion(%{optional(String.t()) => term()}, integer(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec litellm_text_completion(%{optional(String.t()) => term()}, integer(), term()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
@spec litellm_text_completion(%{optional(String.t()) => term()}, integer(), term(), keyword()) ::
{:ok, term()} | {:error, Snakepit.Error.t()}
def litellm_text_completion(request, num_retries) do
SnakeBridge.Runtime.call(__MODULE__, :litellm_text_completion, [request, num_retries], [])
end
def litellm_text_completion(request, num_retries, 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__, :litellm_text_completion, [request, num_retries], opts)
end
def litellm_text_completion(request, num_retries, cache) do
SnakeBridge.Runtime.call(
__MODULE__,
:litellm_text_completion,
[request, num_retries, cache],
[]
)
end
def litellm_text_completion(request, num_retries, cache, 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__,
:litellm_text_completion,
[request, num_retries, cache],
opts
)
end
end