Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions src/openai/_client.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from __future__ import annotations
# openai/_client.py
from .resources.responses import Responses

class AzureOpenAI(BaseClient):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Add Responses API for Azure
self.responses = Responses(self, api_prefix="/openai/deployments/{deployment_id}/responses")
# openai/_async_client.py
from .resources.responses import AsyncResponses

class AsyncAzureOpenAI(AsyncBaseClient):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Add Responses API for Azure
self.responses = AsyncResponses(self, api_prefix="/openai/deployments/{deployment_id}/responses")


import os
from typing import TYPE_CHECKING, Any, Union, Mapping
Expand All @@ -24,6 +41,29 @@
is_mapping,
get_async_library,
)
class Responses:
def __init__(self, client, api_prefix="/v1/responses"):
self._client = client
self._api_prefix = api_prefix

def create(self, deployment_id: str, **kwargs):
path = self._api_prefix.format(deployment_id=deployment_id)
return self._client._request("POST", path, json=kwargs)
from openai import AzureOpenAI

client = AzureOpenAI(
api_key="YOUR_KEY",
api_version="2024-02-15-preview",
azure_endpoint="https://YOUR-RESOURCE.openai.azure.com"
)

response = client.responses.create(
deployment_id="gpt-4o",
input=[{"role": "user", "content": "Summarize this document"}]
)

print(response.output_text)

from ._compat import cached_property
from ._version import __version__
from ._streaming import Stream as Stream, AsyncStream as AsyncStream
Expand Down