PlanOpticon

planopticon / video_processor / providers / azure_provider.py
Blame History Raw 39 lines
1
"""Azure OpenAI provider implementation."""
2
3
import os
4
5
from video_processor.providers.base import OpenAICompatibleProvider, ProviderRegistry
6
7
8
class AzureOpenAIProvider(OpenAICompatibleProvider):
9
"""Azure OpenAI API provider.
10
11
Uses the AzureOpenAI client which requires an endpoint and API version
12
in addition to the API key.
13
"""
14
15
provider_name = "azure"
16
env_var = "AZURE_OPENAI_API_KEY"
17
18
def __init__(self, api_key=None, endpoint=None, api_version=None):
19
from openai import AzureOpenAI
20
21
self._api_key = api_key or os.getenv("AZURE_OPENAI_API_KEY", "")
22
endpoint = endpoint or os.getenv("AZURE_OPENAI_ENDPOINT", "")
23
api_version = api_version or os.getenv("AZURE_OPENAI_API_VERSION", "2024-02-15-preview")
24
self._client = AzureOpenAI(
25
api_key=self._api_key,
26
azure_endpoint=endpoint,
27
api_version=api_version,
28
)
29
self._last_usage = None
30
31
32
ProviderRegistry.register(
33
name="azure",
34
provider_class=AzureOpenAIProvider,
35
env_var="AZURE_OPENAI_API_KEY",
36
model_prefixes=[], # Azure uses deployment names, not standard prefixes
37
default_models={"chat": "", "vision": "", "audio": ""},
38
)
39

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button