Skip to content

Langchain Client

Service

unique_toolkit.framework_utilities.langchain.client.get_langchain_client(*, unique_settings=None, model='AZURE_GPT_4o_2024_0806', additional_headers=None)

Get a Langchain ChatOpenAI client instance.

Parameters:

Name Type Description Default
unique_settings UniqueSettings | None

UniqueSettings instance

None

Returns:

Type Description
ChatOpenAI

ChatOpenAI client instance

Raises:

Type Description
LangchainNotInstalledError

If langchain-openai package is not installed

Source code in unique_toolkit/unique_toolkit/framework_utilities/langchain/client.py
def get_langchain_client(
    *,
    unique_settings: UniqueSettings | None = None,
    model: str = "AZURE_GPT_4o_2024_0806",
    additional_headers: dict[str, str] | None = None,
) -> ChatOpenAI:
    """Get a Langchain ChatOpenAI client instance.

    Args:
        unique_settings: UniqueSettings instance

    Returns:
        ChatOpenAI client instance

    Raises:
        LangchainNotInstalledError: If langchain-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 ChatOpenAI(
        base_url=unique_settings.api.openai_proxy_url(),
        default_headers=default_headers,
        model=model,
        api_key=unique_settings.app.key,
    )