| from openai import AzureOpenAI
|
| from azure.identity import AzureCliCredential, get_bearer_token_provider
|
|
|
| import time
|
|
|
| def setup_client():
|
| scope = "api://trapi/.default"
|
| credential = get_bearer_token_provider(AzureCliCredential(), scope)
|
|
|
| api_version = '2024-12-01-preview'
|
| deployment_name = 'gpt-4o_2024-08-06'
|
| instance = 'gcr/shared/'
|
| endpoint = f'https://trapi.research.microsoft.com/{instance}'
|
|
|
| client = AzureOpenAI(
|
| azure_endpoint=endpoint,
|
| azure_ad_token_provider=credential,
|
| api_version=api_version,
|
| )
|
| return client, deployment_name
|
|
|
|
|
| def call_openai(client, deployment, prompt):
|
| output = None
|
| while output is None:
|
| try:
|
| time.sleep(0.5)
|
| completion = client.chat.completions.create(
|
| model = deployment,
|
| messages = prompt,
|
| )
|
| output = completion.choices[0].message.content
|
| except Exception as e:
|
| print("API error:", e)
|
| time.sleep(1)
|
| output = None
|
| return output |