Skip to content

OpenAI Client

Service

unique_toolkit.framework_utilities.openai.client

OpenAINotInstalledError

Bases: ImportError

Raised when OpenAI package is not installed but functionality requiring it is accessed.

Source code in unique_toolkit/unique_toolkit/framework_utilities/openai/client.py
class OpenAINotInstalledError(ImportError):
    """Raised when OpenAI package is not installed but functionality requiring it is accessed."""

    def __init__(self):
        super().__init__(
            "OpenAI package is not installed. Install it with 'poetry install --with openai'."
        )

get_openai_client(*, unique_settings=None, additional_headers=None)

Get an OpenAI client instance.

Parameters:

Name Type Description Default
unique_settings UniqueSettings | None

Optional UniqueSettings instance

None
additional_headers dict[str, str] | None

Optional additional headers to add to the request

None

Returns:

Type Description
OpenAI

OpenAI client instance

Raises:

Type Description
OpenAINotInstalledError

If OpenAI package is not installed

Source code in unique_toolkit/unique_toolkit/framework_utilities/openai/client.py
def get_openai_client(
    *,
    unique_settings: UniqueSettings | None = None,
    additional_headers: dict[str, str] | None = None,
) -> OpenAI:
    """Get an OpenAI client instance.

    Args:
        unique_settings (UniqueSettings | None): Optional UniqueSettings instance
        additional_headers (dict[str, str] | None): Optional additional headers to add to the request

    Returns:
        OpenAI client instance

    Raises:
        OpenAINotInstalledError: If OpenAI package is not installed
    """
    if unique_settings is None:
        unique_settings = UniqueSettings.from_env_auto()

    default_headers = get_default_headers(unique_settings.app, unique_settings.auth)
    if additional_headers is not None:
        default_headers.update(additional_headers)

    return OpenAI(
        api_key="dummy_key",
        base_url=unique_settings.api.openai_proxy_url(),
        default_headers=default_headers,
    )