yera.models.interfaces.llms.open_ai

Yera LLM interface for OpenAI models.

Symbols

class OpenAILLM — LLM interface implementation for OpenAI LLMs.

OpenAILLM

Subclasses: AzureOpenAILLM

LLM interface implementation for OpenAI LLMs.

Methods

start — Initialise the OpenAI API client.
stop — Shut down and clear the OpenAI API client.
chat — Stream a chat response from OpenAI.
make_struct — Stream a structured response conforming to a schema.
make_request_struct — Generate a tool-like request structure with an initial `call_id` token.

OpenAILLM.start

start() → None

Initialise the OpenAI API client.

Creates and stores an OpenAI client instance using the configured connection settings (API key, organisation, etc.). This method must be called before making any API requests via the client property.

OpenAILLM.stop

stop() → None

Shut down and clear the OpenAI API client.

Releases the OpenAI client instance by setting it to None. After calling this method, start() must be called again before further API requests can be made.

OpenAILLM.chat

chat(
    messages: list[Message],
    reasoning_level: ReasoningLevel | None = None,
    **overrides,
) → Iterator[LLMToken]

Stream a chat response from OpenAI.

Thinking is only produced when effort and summary are both set on a model that reasons.

Parameters

messages
type: list[Message]

The workspace conversation history.

reasoning_level
type: ReasoningLevel | None = None

Set the reasoning effort level overriding the default (medium)

**overrides
type: str | float | int | bool

Per-call inference parameters.

OpenAILLM.make_struct

make_struct(
    messages: list[Message],
    reasoning_level: ReasoningLevel | None = None,
    **overrides,
) → Iterator[LLMToken]

Stream a structured response conforming to a schema.

Parameters

messages
type: list[Message]

The workspace conversation history.

cls
type: type[TStruct]

A pydantic model class defining the output structure.

reasoning_level
type: ReasoningLevel | None = None

Set the reasoning effort level overriding the default (off)

**overrides
type: str | float | int | bool

Per-call inference parameters.

OpenAILLM.make_request_struct

make_request_struct(
    messages: list[Message],
    reasoning_level: ReasoningLevel | None = None,
    **overrides,
) → Iterator[LLMToken]

Generate a tool-like request structure with an initial call_id token.

Prepares a unique identifier for the tool call and streams structured output tokens. This method is intended for tools that require a tool_call → tool_result interaction pattern, where the call_id must be sent first to associate results.

Parameters

messages
type: list[Message]

Conversation history.

cls
type: type[TStruct]

Struct subclass defining the tool's input/output schema.

reasoning_level
type: ReasoningLevel | None = None

Set the reasoning effort level overriding the default (off)

**overrides
type: str | float | int | bool

Per-call LLM overrides (e.g., temperature, num_predict).