|
from typing import Optional, Union |
|
|
|
import httpx |
|
from openai import AsyncAzureOpenAI, AsyncOpenAI, AzureOpenAI, OpenAI |
|
|
|
from litellm.llms.azure.files.handler import get_azure_openai_client |
|
from litellm.llms.openai.fine_tuning.handler import OpenAIFineTuningAPI |
|
|
|
|
|
class AzureOpenAIFineTuningAPI(OpenAIFineTuningAPI): |
|
""" |
|
AzureOpenAI methods to support fine tuning, inherits from OpenAIFineTuningAPI. |
|
""" |
|
|
|
def get_openai_client( |
|
self, |
|
api_key: Optional[str], |
|
api_base: Optional[str], |
|
timeout: Union[float, httpx.Timeout], |
|
max_retries: Optional[int], |
|
organization: Optional[str], |
|
client: Optional[ |
|
Union[OpenAI, AsyncOpenAI, AzureOpenAI, AsyncAzureOpenAI] |
|
] = None, |
|
_is_async: bool = False, |
|
api_version: Optional[str] = None, |
|
) -> Optional[ |
|
Union[ |
|
OpenAI, |
|
AsyncOpenAI, |
|
AzureOpenAI, |
|
AsyncAzureOpenAI, |
|
] |
|
]: |
|
|
|
if isinstance(client, OpenAI) or isinstance(client, AsyncOpenAI): |
|
client = None |
|
|
|
return get_azure_openai_client( |
|
api_key=api_key, |
|
api_base=api_base, |
|
timeout=timeout, |
|
max_retries=max_retries, |
|
organization=organization, |
|
api_version=api_version, |
|
client=client, |
|
_is_async=_is_async, |
|
) |
|
|