Skip to content

Models API


OpenAIConnector

python
from elsai_model.openai import OpenAIConnector
python
OpenAIConnector(
    openai_api_key=None,  # or OPENAI_API_KEY env var
    model_name="gpt-4o",
    temperature=0.1,
    implementation="native",
)
ParameterTypeDefaultDescription
openai_api_keystr | NoneNoneOpenAI API key
model_namestr | None"gpt-4o"OpenAI model name (e.g. gpt-4o, gpt-4o-mini)
temperaturefloat0.1Sampling temperature
implementationstr"native"Underlying driver implementation

GeminiService

python
from elsai_model.gemini import GeminiService
python
GeminiService(
    api_key=None,        # or GEMINI_API_KEY env var
    model="gemini-2.5-flash",
)
ParameterTypeDefaultDescription
api_keystr(required)Google Gemini API key
modelstr"gemini-2.5-flash"Gemini model identifier

BedrockConnector

python
from elsai_model.bedrock import BedrockConnector
python
BedrockConnector(
    aws_access_key=None,
    aws_secret_key=None,
    aws_session_token=None,
    aws_region=None,
    model_id=None,
    max_tokens=500,
    temperature=0.1,
    config=None,
)
ParameterTypeDefaultDescription
aws_access_keystr | NoneNoneAWS access key
aws_secret_keystr | NoneNoneAWS secret key
aws_regionstr | NoneNoneAWS region (e.g. us-east-1)
model_idstr | NoneNoneBedrock model ID
max_tokensint500Max tokens to generate
temperaturefloat0.1Sampling temperature

AzureOpenAIConnector

python
from elsai_model.azure_openai import AzureOpenAIConnector
python
AzureOpenAIConnector(
    azure_endpoint=None,
    openai_api_key=None,
    openai_api_version=None,
    deployment_name=None,
    temperature=0.1,
    implementation="native",
)
ParameterTypeDefaultDescription
azure_endpointstr | NoneNoneAzure resource endpoint URL
openai_api_keystr | NoneNoneAzure OpenAI API key
openai_api_versionstr | NoneNoneAPI version (e.g. 2024-02-01)
deployment_namestr | NoneNoneAzure model deployment name

LiteLLMConnector

python
from elsai_model.litellm import LiteLLMConnector
python
LiteLLMConnector(
    model_name="gpt-4o",
    temperature=0.1,
)
ParameterTypeDefaultDescription
model_namestr(required)Target model routing name (e.g. anthropic/claude-3, ollama/llama3)
temperaturefloat0.1Sampling temperature

AnthropicBedrockConnector

python
from elsai_model.anthropic_bedrock import AnthropicBedrockConnector
python
AnthropicBedrockConnector(
    aws_access_key=None,
    aws_secret_key=None,
    aws_session_token=None,
    aws_region=None,
    model_id=None,
    max_tokens=500,
    temperature=0.1,
    config=None,
)
ParameterTypeDefaultDescription
aws_access_keystr | NoneNoneAWS access key
aws_secret_keystr | NoneNoneAWS secret key
model_idstr | NoneNoneClaude Bedrock model identifier

Custom model

Implement the Model protocol:

python
from elsai.models.model import Model
from collections.abc import AsyncIterator
from typing import Any

class MyModel(Model):
    @property
    def config(self) -> dict:
        return {"model_id": "my-model"}

    @property
    def stateful(self) -> bool:
        return False

    def converse(
        self,
        messages,
        system_prompt=None,
        tool_specs=None,
        **kwargs,
    ) -> AsyncIterator[Any]:
        # Call your API, yield events
        ...

    def structured_output(self, output_model, messages, **kwargs):
        ...

Copyright © 2026 Elsai Foundry.