kopia lustrzana https://github.com/gd3kr/BlenderGPT
87 wiersze
2.2 KiB
Python
87 wiersze
2.2 KiB
Python
# OpenAI Python bindings.
|
|
#
|
|
# Originally forked from the MIT-licensed Stripe Python bindings.
|
|
|
|
import os
|
|
from contextvars import ContextVar
|
|
from typing import Optional, TYPE_CHECKING
|
|
|
|
from openai.api_resources import (
|
|
Audio,
|
|
ChatCompletion,
|
|
Completion,
|
|
Customer,
|
|
Edit,
|
|
Deployment,
|
|
Embedding,
|
|
Engine,
|
|
ErrorObject,
|
|
File,
|
|
FineTune,
|
|
Image,
|
|
Model,
|
|
Moderation,
|
|
)
|
|
from openai.error import APIError, InvalidRequestError, OpenAIError
|
|
|
|
if TYPE_CHECKING:
|
|
from aiohttp import ClientSession
|
|
|
|
api_key = os.environ.get("OPENAI_API_KEY")
|
|
# Path of a file with an API key, whose contents can change. Supercedes
|
|
# `api_key` if set. The main use case is volume-mounted Kubernetes secrets,
|
|
# which are updated automatically.
|
|
api_key_path: Optional[str] = os.environ.get("OPENAI_API_KEY_PATH")
|
|
|
|
organization = os.environ.get("OPENAI_ORGANIZATION")
|
|
api_base = os.environ.get("OPENAI_API_BASE", "https://api.openai.com/v1")
|
|
api_type = os.environ.get("OPENAI_API_TYPE", "open_ai")
|
|
api_version = (
|
|
"2022-12-01" if api_type in ("azure", "azure_ad", "azuread") else None
|
|
)
|
|
verify_ssl_certs = True # No effect. Certificates are always verified.
|
|
proxy = None
|
|
app_info = None
|
|
enable_telemetry = False # Ignored; the telemetry feature was removed.
|
|
ca_bundle_path = None # No longer used, feature was removed
|
|
debug = False
|
|
log = None # Set to either 'debug' or 'info', controls console logging
|
|
|
|
aiosession: ContextVar[Optional["ClientSession"]] = ContextVar(
|
|
"aiohttp-session", default=None
|
|
) # Acts as a global aiohttp ClientSession that reuses connections.
|
|
# This is user-supplied; otherwise, a session is remade for each request.
|
|
|
|
__all__ = [
|
|
"APIError",
|
|
"Audio",
|
|
"ChatCompletion",
|
|
"Completion",
|
|
"Customer",
|
|
"Edit",
|
|
"Image",
|
|
"Deployment",
|
|
"Embedding",
|
|
"Engine",
|
|
"ErrorObject",
|
|
"File",
|
|
"FineTune",
|
|
"InvalidRequestError",
|
|
"Model",
|
|
"Moderation",
|
|
"OpenAIError",
|
|
"api_base",
|
|
"api_key",
|
|
"api_type",
|
|
"api_key_path",
|
|
"api_version",
|
|
"app_info",
|
|
"ca_bundle_path",
|
|
"debug",
|
|
"enable_telemetry",
|
|
"log",
|
|
"organization",
|
|
"proxy",
|
|
"verify_ssl_certs",
|
|
]
|