Appearance
OpenAIModel
Environment variables: OPENAI_API_KEY, OPENAI_MODEL_NAME
python
import os
from elsai_model.openai import OpenAIModel
model = OpenAIModel(
model_id=os.getenv("OPENAI_MODEL_NAME", "gpt-4o-mini"),
client_args={"api_key": os.environ["OPENAI_API_KEY"]},
params={"temperature": 0.2},
)
messages = [{"role": "user", "content": "Say hello in one short sentence."}]
response = model.invoke(messages)
print(response.choices[0].message.content)
for chunk in model.stream_text(messages):
print(chunk, end="", flush=True)Or via the factory:
python
from elsai_model import LLM, Provider
model = LLM(
provider=Provider.OPENAI,
model=os.getenv("OPENAI_MODEL_NAME", "gpt-4o-mini"),
api_key=os.environ["OPENAI_API_KEY"],
params={"temperature": 0.2},
)LangChain backend
Use the LangChain-backed client instead of the native OpenAI SDK. Requires the langchain extra:
bash
pip install --extra-index-url https://core-packages.elsai.ai/root/ "elsai-model[langchain]==2.1.0"python
model = OpenAIModel(
model_id="gpt-4o-mini",
client_args={"api_key": os.environ["OPENAI_API_KEY"]},
params={"temperature": 0.2},
implementation="langchain", # default is "native"
)Bedrock Mantle routing
Route OpenAIModel through Amazon Bedrock's OpenAI-compatible Mantle endpoint (uses AWS credentials, not OPENAI_API_KEY):
python
model = OpenAIModel(
model_id=os.getenv("BEDROCK_MANTLE_MODEL_ID", "openai.gpt-oss-120b"),
bedrock_mantle_config={"region": os.getenv("AWS_REGION", "us-east-1")},
params={"temperature": 0.2, "max_tokens": 256},
)See also
- LLM Models overview — install, extras, factory
- LLM factory