mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-09-03 01:54:44 +00:00
feat(model): Add support for Azure openAI (#1137)
Co-authored-by: like <406979945@qq.com> Co-authored-by: csunny <cfqsunny@163.com>
This commit is contained in:
@@ -37,6 +37,7 @@ class OpenAIParameters:
|
||||
api_base: Optional[str] = None
|
||||
api_key: Optional[str] = None
|
||||
api_version: Optional[str] = None
|
||||
api_azure_deployment: Optional[str] = None
|
||||
full_url: Optional[str] = None
|
||||
proxies: Optional["ProxiesTypes"] = None
|
||||
|
||||
@@ -71,6 +72,9 @@ def _initialize_openai_v1(init_params: OpenAIParameters):
|
||||
)
|
||||
api_version = api_version or os.getenv("OPENAI_API_VERSION")
|
||||
|
||||
api_azure_deployment = init_params.api_azure_deployment or os.getenv(
|
||||
"API_AZURE_DEPLOYMENT"
|
||||
)
|
||||
if not base_url and full_url:
|
||||
base_url = full_url.split("/chat/completions")[0]
|
||||
|
||||
@@ -81,11 +85,8 @@ def _initialize_openai_v1(init_params: OpenAIParameters):
|
||||
if base_url.endswith("/"):
|
||||
base_url = base_url[:-1]
|
||||
|
||||
openai_params = {
|
||||
"api_key": api_key,
|
||||
"base_url": base_url,
|
||||
}
|
||||
return openai_params, api_type, api_version
|
||||
openai_params = {"api_key": api_key, "base_url": base_url}
|
||||
return openai_params, api_type, api_version, api_azure_deployment
|
||||
|
||||
|
||||
def _initialize_openai(params: OpenAIParameters):
|
||||
@@ -127,13 +128,16 @@ def _initialize_openai(params: OpenAIParameters):
|
||||
def _build_openai_client(init_params: OpenAIParameters) -> Tuple[str, ClientType]:
|
||||
import httpx
|
||||
|
||||
openai_params, api_type, api_version = _initialize_openai_v1(init_params)
|
||||
openai_params, api_type, api_version, api_azure_deployment = _initialize_openai_v1(
|
||||
init_params
|
||||
)
|
||||
if api_type == "azure":
|
||||
from openai import AsyncAzureOpenAI
|
||||
|
||||
return api_type, AsyncAzureOpenAI(
|
||||
api_key=openai_params["api_key"],
|
||||
api_version=api_version,
|
||||
azure_deployment=api_azure_deployment,
|
||||
azure_endpoint=openai_params["base_url"],
|
||||
http_client=httpx.AsyncClient(proxies=init_params.proxies),
|
||||
)
|
||||
|
Reference in New Issue
Block a user