Packages
liter_llm
1.4.0-rc.21
1.11.3
1.11.2
1.11.1
1.11.0
1.10.1
1.10.0
1.9.3
1.9.0
1.9.0-rc.2
1.9.0-rc.1
1.8.2
1.8.1
1.8.0
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.6.4
1.6.3
1.6.2
1.5.1
1.5.0
1.4.1
1.4.0-rc.61
1.4.0-rc.60
1.4.0-rc.59
1.4.0-rc.58
1.4.0-rc.57
1.4.0-rc.56
1.4.0-rc.55
1.4.0-rc.53
1.4.0-rc.52
1.4.0-rc.50
1.4.0-rc.48
1.4.0-rc.47
1.4.0-rc.46
1.4.0-rc.45
1.4.0-rc.44
1.4.0-rc.43
1.4.0-rc.39
1.4.0-rc.38
1.4.0-rc.37
1.4.0-rc.36
1.4.0-rc.35
1.4.0-rc.34
1.4.0-rc.33
1.4.0-rc.32
1.4.0-rc.31
1.4.0-rc.30
1.4.0-rc.27
1.4.0-rc.26
1.4.0-rc.25
1.4.0-rc.24
1.4.0-rc.22
1.4.0-rc.21
1.4.0-rc.20
1.4.0-rc.19
1.4.0-rc.18
1.4.0-rc.17
1.4.0-rc.16
1.4.0-rc.14
1.4.0-rc.13
1.4.0-rc.11
1.2.2
1.2.1
1.2.0
1.1.1
1.1.0
1.0.0
1.0.0-rc.9
1.0.0-rc.8
1.0.0-rc.7
1.0.0-rc.6
1.0.0-rc.5
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
Universal LLM API client with Rust-powered polyglot bindings.
Current section
Files
Jump to
Current section
Files
lib/liter_llm.ex
# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:4d091301d545aef1106200aa097a5993b89ad82c32a6d5413666f01bfa6a05bf
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
# Issues & docs: https://github.com/kreuzberg-dev/alef
defmodule LiterLlm do
@moduledoc "High-level API for liter_llm."
@doc "Create a new LLM client with simple scalar configuration."
@spec create_client(String.t()) :: {:ok, reference()} | {:error, String.t()}
def create_client(api_key) do
LiterLlm.Native.create_client(api_key, nil, nil, nil, nil)
end
@doc "Create a new LLM client with simple scalar configuration."
@spec create_client(String.t(), String.t() | nil) :: {:ok, reference()} | {:error, String.t()}
def create_client(api_key, base_url) do
LiterLlm.Native.create_client(api_key, base_url, nil, nil, nil)
end
@doc "Create a new LLM client with simple scalar configuration."
@spec create_client(String.t(), String.t() | nil, non_neg_integer() | nil) ::
{:ok, reference()} | {:error, String.t()}
def create_client(api_key, base_url, timeout_secs) do
LiterLlm.Native.create_client(api_key, base_url, timeout_secs, nil, nil)
end
@doc "Create a new LLM client with simple scalar configuration."
@spec create_client(
String.t(),
String.t() | nil,
non_neg_integer() | nil,
non_neg_integer() | nil
) :: {:ok, reference()} | {:error, String.t()}
def create_client(api_key, base_url, timeout_secs, max_retries) do
LiterLlm.Native.create_client(api_key, base_url, timeout_secs, max_retries, nil)
end
@doc "Create a new LLM client with simple scalar configuration."
@spec create_client(
String.t(),
String.t() | nil,
non_neg_integer() | nil,
non_neg_integer() | nil,
String.t() | nil
) :: {:ok, reference()} | {:error, String.t()}
def create_client(api_key, base_url, timeout_secs, max_retries, model_hint) do
LiterLlm.Native.create_client(api_key, base_url, timeout_secs, max_retries, model_hint)
end
@doc "Create a new LLM client from a JSON string."
@spec create_client_from_json(String.t()) :: {:ok, reference()} | {:error, String.t()}
def create_client_from_json(json) do
LiterLlm.Native.create_client_from_json(json)
end
@doc "Register a custom provider in the global runtime registry."
@spec register_custom_provider(map()) :: {:ok, nil} | {:error, String.t()}
def register_custom_provider(config) do
LiterLlm.Native.register_custom_provider(config)
end
@doc "Remove a previously registered custom provider by name."
@spec unregister_custom_provider(String.t()) :: {:ok, boolean()} | {:error, String.t()}
def unregister_custom_provider(name) do
LiterLlm.Native.unregister_custom_provider(name)
end
@doc "Method"
@spec defaultclient_chat_async(map(), String.t() | nil) ::
{:ok, String.t() | nil} | {:error, String.t()}
def defaultclient_chat_async(obj, req) do
LiterLlm.Native.defaultclient_chat_async(obj, req)
end
@doc "Method"
@spec defaultclient_chat_stream_async(map(), String.t() | nil) ::
{:ok, String.t()} | {:error, String.t()}
def defaultclient_chat_stream_async(obj, req) do
LiterLlm.Native.defaultclient_chat_stream_async(obj, req)
end
@doc "Method"
@spec defaultclient_embed_async(map(), map()) :: {:ok, map()} | {:error, String.t()}
def defaultclient_embed_async(obj, req) do
LiterLlm.Native.defaultclient_embed_async(obj, req)
end
@doc "Method"
@spec defaultclient_list_models_async(map()) :: {:ok, String.t() | nil} | {:error, String.t()}
def defaultclient_list_models_async(obj) do
LiterLlm.Native.defaultclient_list_models_async(obj)
end
@doc "Method"
@spec defaultclient_image_generate_async(map(), String.t() | nil) ::
{:ok, String.t() | nil} | {:error, String.t()}
def defaultclient_image_generate_async(obj, req) do
LiterLlm.Native.defaultclient_image_generate_async(obj, req)
end
@doc "Method"
@spec defaultclient_transcribe_async(map(), String.t() | nil) ::
{:ok, String.t() | nil} | {:error, String.t()}
def defaultclient_transcribe_async(obj, req) do
LiterLlm.Native.defaultclient_transcribe_async(obj, req)
end
@doc "Method"
@spec defaultclient_moderate_async(map(), map()) :: {:ok, map()} | {:error, String.t()}
def defaultclient_moderate_async(obj, req) do
LiterLlm.Native.defaultclient_moderate_async(obj, req)
end
@doc "Method"
@spec defaultclient_rerank_async(map(), map()) :: {:ok, map()} | {:error, String.t()}
def defaultclient_rerank_async(obj, req) do
LiterLlm.Native.defaultclient_rerank_async(obj, req)
end
@doc "Method"
@spec defaultclient_search_async(map(), String.t() | nil) :: {:ok, map()} | {:error, String.t()}
def defaultclient_search_async(obj, req) do
LiterLlm.Native.defaultclient_search_async(obj, req)
end
end