Skip to content

Models API

Agent-grade model providers live in elsai-model (elsai Core). Pass a *Model instance — or one built with the LLM factory — to Agent(model=...). The agent loop calls the model on every turn, handling tool specs, system prompts, and streaming events uniformly across providers.

For install, credentials, and full copy-paste kits, see Model Providers. For standalone invoke / stream without agents, see LLM Models.

Signature

python
import os
from elsai import Agent
from elsai_model import LLM, Provider
# or: from elsai_model.openai import OpenAIModel

agent = Agent(
    model=LLM(
        provider=Provider.OPENAI,
        model="gpt-4o",
        api_key=os.environ["OPENAI_API_KEY"],
    )
)
# agent = Agent(model=OpenAIModel(model_id="gpt-4o", client_args={"api_key": ...}))

Install with a provider extra (example: "elsai-model[openai]==2.1.0"). See LLM Models — Optional package extras.

Supported providers

ProviderModel classImport moduleFactory
OpenAIOpenAIModelelsai_model.openaiProvider.OPENAI
Azure OpenAIAzureOpenAIModelelsai_model.azure_openaiProvider.AZURE_OPENAI
Amazon BedrockBedrockModelelsai_model.bedrockProvider.BEDROCK
Anthropic (direct)AnthropicModelelsai_model.anthropicProvider.ANTHROPIC
Anthropic via Bedrock SDKAnthropicBedrockModelelsai_model.anthropic_bedrockProvider.ANTHROPIC_BEDROCK
Google GeminiGeminiModelelsai_model.geminiProvider.GEMINI
LiteLLMLiteLLMModelelsai_model.litellmProvider.LITELLM
OllamaOllamaModelelsai_model.ollamaProvider.OLLAMA
MistralMistralModelelsai_model.mistralProvider.MISTRAL
WriterWriterModelelsai_model.writerProvider.WRITER
Meta Llama APILlamaAPIModelelsai_model.llamaapiProvider.LLAMA_API
llama.cpp serverLlamaCppModelelsai_model.llama_cppProvider.LLAMA_CPP
OpenAI ResponsesOpenAIResponsesModelelsai_model.openai_responsesProvider.OPENAI_RESPONSES
SageMakerSageMakerAIModelelsai_model.sagemakerProvider.SAGEMAKER

Per-provider constructor parameters, environment variables, and examples are documented in LLM Models and the Model Providers concept pages.

Common parameters

ParameterDescription
providerProvider enum or string when using LLM(provider=…, model=…)
model_idProvider model or deployment ID (on *Model classes)
modelSame role when using LLM(provider=…, model=…)
api_keyFactory shorthand merged into client_args
client_argsSDK client options (API keys, endpoints, regions)
paramsGeneration settings (temperature, max_tokens, …)

Factory examples (signatures)

python
import os
from elsai_model import LLM, Provider

LLM(
    provider=Provider.BEDROCK,
    model="global.anthropic.claude-sonnet-4-6",
    region_name="us-west-2",
)
LLM(
    provider=Provider.OPENAI,
    model="gpt-4o",
    api_key=os.environ["OPENAI_API_KEY"],
    params={"temperature": 0.7},
)

See Amazon Bedrock and OpenAI for full kits.

Legacy connectors

Legacy v1.4.x *Connector classes and GeminiService are not supported with Agent. Pass agent-grade *Model classes from elsai-model==2.1.0 (or build them with LLM) instead. See elsai Core v3.0 release notes.

Copyright © 2026 elsai foundry.