Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit abc5459

Browse filesBrowse files
fedeolivstainless-app[bot]
authored andcommitted
docs(examples/azure): add async snippet (openai#1787)
1 parent c111dab commit abc5459
Copy full SHA for abc5459

File tree

Expand file treeCollapse file tree

1 file changed

+58
-21
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+58
-21
lines changed

‎examples/azure_ad.py

Copy file name to clipboard
+58-21Lines changed: 58 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,67 @@
1-
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
1+
import asyncio
22

3-
from openai import AzureOpenAI
3+
from openai.lib.azure import AzureOpenAI, AsyncAzureOpenAI, AzureADTokenProvider, AsyncAzureADTokenProvider
44

5-
token_provider = get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")
5+
scopes = "https://cognitiveservices.azure.com/.default"
66

7-
8-
# may change in the future
7+
# May change in the future
98
# https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#rest-api-versioning
109
api_version = "2023-07-01-preview"
1110

1211
# https://learn.microsoft.com/en-us/azure/cognitive-services/openai/how-to/create-resource?pivots=web-portal#create-a-resource
1312
endpoint = "https://my-resource.openai.azure.com"
1413

15-
client = AzureOpenAI(
16-
api_version=api_version,
17-
azure_endpoint=endpoint,
18-
azure_ad_token_provider=token_provider,
19-
)
20-
21-
completion = client.chat.completions.create(
22-
model="deployment-name", # e.g. gpt-35-instant
23-
messages=[
24-
{
25-
"role": "user",
26-
"content": "How do I output all files in a directory using Python?",
27-
},
28-
],
29-
)
30-
print(completion.to_json())
14+
deployment_name = "deployment-name" # e.g. gpt-35-instant
15+
16+
17+
def sync_main() -> None:
18+
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
19+
20+
token_provider: AzureADTokenProvider = get_bearer_token_provider(DefaultAzureCredential(), scopes)
21+
22+
client = AzureOpenAI(
23+
api_version=api_version,
24+
azure_endpoint=endpoint,
25+
azure_ad_token_provider=token_provider,
26+
)
27+
28+
completion = client.chat.completions.create(
29+
model=deployment_name,
30+
messages=[
31+
{
32+
"role": "user",
33+
"content": "How do I output all files in a directory using Python?",
34+
}
35+
],
36+
)
37+
38+
print(completion.to_json())
39+
40+
41+
async def async_main() -> None:
42+
from azure.identity.aio import DefaultAzureCredential, get_bearer_token_provider
43+
44+
token_provider: AsyncAzureADTokenProvider = get_bearer_token_provider(DefaultAzureCredential(), scopes)
45+
46+
client = AsyncAzureOpenAI(
47+
api_version=api_version,
48+
azure_endpoint=endpoint,
49+
azure_ad_token_provider=token_provider,
50+
)
51+
52+
completion = await client.chat.completions.create(
53+
model=deployment_name,
54+
messages=[
55+
{
56+
"role": "user",
57+
"content": "How do I output all files in a directory using Python?",
58+
}
59+
],
60+
)
61+
62+
print(completion.to_json())
63+
64+
65+
sync_main()
66+
67+
asyncio.run(async_main())

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.