Skip to content

Commit 7f1e03d

Browse files
authored
fix: infer azure provider and environment for key (#1422)
1 parent cf50589 commit 7f1e03d

File tree

5 files changed

+10
-3
lines changed

5 files changed

+10
-3
lines changed

pydantic_ai_slim/pydantic_ai/models/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ def infer_model(model: Model | KnownModelName | str) -> Model:
427427
from .cohere import CohereModel
428428

429429
return CohereModel(model_name, provider=provider)
430-
elif provider in ('deepseek', 'openai'):
430+
elif provider in ('deepseek', 'openai', 'azure'):
431431
from .openai import OpenAIModel
432432

433433
return OpenAIModel(model_name, provider=provider)

pydantic_ai_slim/pydantic_ai/providers/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ def infer_provider(provider: str) -> Provider[Any]:
5252
from .deepseek import DeepSeekProvider
5353

5454
return DeepSeekProvider()
55+
elif provider == 'azure':
56+
from .azure import AzureProvider
57+
58+
return AzureProvider()
5559
elif provider == 'google-vertex':
5660
from .google_vertex import GoogleVertexProvider
5761

pydantic_ai_slim/pydantic_ai/providers/azure.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ def __init__(
8787
'Must provide one of the `azure_endpoint` argument or the `AZURE_OPENAI_ENDPOINT` environment variable'
8888
)
8989

90-
if not api_key and 'OPENAI_API_KEY' not in os.environ: # pragma: no cover
90+
if not api_key and 'AZURE_OPENAI_API_KEY' not in os.environ: # pragma: no cover
9191
raise UserError(
92-
'Must provide one of the `api_key` argument or the `OPENAI_API_KEY` environment variable'
92+
'Must provide one of the `api_key` argument or the `AZURE_OPENAI_API_KEY` environment variable'
9393
)
9494

9595
if not api_version and 'OPENAI_API_VERSION' not in os.environ: # pragma: no cover

tests/models/test_model.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
('OPENAI_API_KEY', 'openai:gpt-3.5-turbo', 'gpt-3.5-turbo', 'openai', 'openai', 'OpenAIModel'),
1212
('OPENAI_API_KEY', 'gpt-3.5-turbo', 'gpt-3.5-turbo', 'openai', 'openai', 'OpenAIModel'),
1313
('OPENAI_API_KEY', 'o1', 'o1', 'openai', 'openai', 'OpenAIModel'),
14+
('AZURE_OPENAI_API_KEY', 'azure:gpt-3.5-turbo', 'gpt-3.5-turbo', 'azure', 'azure', 'OpenAIModel'),
1415
('GEMINI_API_KEY', 'google-gla:gemini-1.5-flash', 'gemini-1.5-flash', 'google-gla', 'gemini', 'GeminiModel'),
1516
('GEMINI_API_KEY', 'gemini-1.5-flash', 'gemini-1.5-flash', 'google-gla', 'gemini', 'GeminiModel'),
1617
(

tests/providers/test_provider_names.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from openai import OpenAIError
1616

1717
from pydantic_ai.providers.anthropic import AnthropicProvider
18+
from pydantic_ai.providers.azure import AzureProvider
1819
from pydantic_ai.providers.cohere import CohereProvider
1920
from pydantic_ai.providers.deepseek import DeepSeekProvider
2021
from pydantic_ai.providers.google_gla import GoogleGLAProvider
@@ -28,6 +29,7 @@
2829
('cohere', CohereProvider, 'CO_API_KEY'),
2930
('deepseek', DeepSeekProvider, 'DEEPSEEK_API_KEY'),
3031
('openai', OpenAIProvider, 'OPENAI_API_KEY'),
32+
('azure', AzureProvider, 'AZURE_OPENAI'),
3133
('google-vertex', GoogleVertexProvider, None),
3234
('google-gla', GoogleGLAProvider, 'GEMINI_API_KEY'),
3335
('groq', GroqProvider, 'GROQ_API_KEY'),

0 commit comments

Comments
 (0)