Optional provider support means the consuming app opts into provider dependencies. It does not mean this repository publishes a package per adapter.
Mock
No extra dependency is required:
{:inference, "~> 0.1.0"}GeminiEx
Install the direct Gemini API SDK in the consuming app:
{:inference, "~> 0.1.0"},
{:gemini_ex, "..."}Configure credentials in the SDK, then use Inference.Adapters.GeminiEx.
This is a model endpoint. Gemini CLI is retired and is not a compatibility
route for this adapter.
Agent Session Manager
Install Agent Session Manager in the consuming app:
{:inference, "~> 0.1.0"},
{:agent_session_manager, "..."}Use Inference.Adapters.ASM with a provider atom or session reference.
ASM reports :agent_session, so clients must set
admitted_kinds: [:agent_session]. Antigravity is the current Google
coding-agent SDK behind the ASM family; it is distinct from the direct Gemini
API provided by GeminiEx.
The adapter supports normal query calls and managed streaming sessions when the
installed ASM module exposes query/3, start_session/1, stream/3, and
stop_session/1. String sessions are passed to ASM as :session_id while the
provider atom remains the query target; pid sessions are treated as external
sessions.
The ASM adapter is intentionally common-only. It calls ASM strict preflight for the final option list, does not accept provider SDK options through generic inference request options, and rejects tool-bearing requests until ASM has a documented all-provider host-tool contract.
When overriding the ASM module for tests or compatibility, also pass an explicit
:asm_options_module. The default options module is bounded to the default ASM
module and is not derived from custom module names.
ReqLlmNext
Install ReqLlmNext where broad hosted-provider coverage is needed:
{:inference, "~> 0.1.0"},
{:req_llm_next, "..."}Use Inference.Adapters.ReqLlmNext.
ReqLLM Compatibility
Inference.Adapters.ReqLLM is for compatibility with existing users. Prefer
ReqLlmNext for new broad hosted-provider work.
{:inference, "~> 0.1.0"},
{:req_llm, "~> 1.10"}The compatibility adapter supports text generation, structured object
generation through generate_object/4, provider key aliasing for OpenAI,
Gemini, and Anthropic, and portable tool structs that expose :name,
:description, :input_schema, and :run.
For standalone clients, the compatibility adapter can still use provider-local env configured by the consuming application. For governed clients, env fallback is skipped and direct provider keys are rejected before adapter dispatch.
Missing Dependencies
If an adapter is selected but its underlying provider module is unavailable, the
adapter returns Inference.Error with category :missing_dependency.