1- from pydoc import apropos
21import time
2+ from pydoc import apropos
33from typing import Optional
44from urllib .parse import quote_plus
55
1515class EngineAPIResource (APIResource ):
1616 engine_required = True
1717 plain_old_data = False
18- azure_api_prefix = ' openai/deployments'
18+ azure_api_prefix = " openai/deployments"
1919
2020 def __init__ (self , engine : Optional [str ] = None , ** kwargs ):
2121 super ().__init__ (engine = engine , ** kwargs )
2222
2323 @classmethod
24- def class_url (cls , engine : Optional [str ] = None , api_type : Optional [str ] = None , api_version : Optional [str ] = None ):
24+ def class_url (
25+ cls ,
26+ engine : Optional [str ] = None ,
27+ api_type : Optional [str ] = None ,
28+ api_version : Optional [str ] = None ,
29+ ):
2530 # Namespaces are separated in object names with periods (.) and in URLs
2631 # with forward slashes (/), so replace the former with the latter.
2732 base = cls .OBJECT_NAME .replace ("." , "/" ) # type: ignore
28- typed_api_type = ApiType .from_str (api_type ) if api_type else ApiType .from_str (openai .api_type )
33+ typed_api_type = (
34+ ApiType .from_str (api_type )
35+ if api_type
36+ else ApiType .from_str (openai .api_type )
37+ )
2938 api_version = api_version or openai .api_version
3039
3140 if typed_api_type == ApiType .AZURE :
3241 if not api_version :
33- raise error .InvalidRequestError ("An API version is required for the Azure API type." )
42+ raise error .InvalidRequestError (
43+ "An API version is required for the Azure API type."
44+ )
3445 if engine is None :
3546 raise error .InvalidRequestError (
3647 "You must provide the deployment name in the 'engine' parameter to access the Azure OpenAI service"
3748 )
3849 extn = quote_plus (engine )
39- return "/%s/%s/%ss?api-version=%s" % (cls .azure_api_prefix , extn , base , api_version )
50+ return "/%s/%s/%ss?api-version=%s" % (
51+ cls .azure_api_prefix ,
52+ extn ,
53+ base ,
54+ api_version ,
55+ )
4056
4157 elif typed_api_type == ApiType .OPEN_AI :
4258 if engine is None :
@@ -46,8 +62,7 @@ def class_url(cls, engine: Optional[str] = None, api_type : Optional[str] = None
4662 return "/engines/%s/%ss" % (extn , base )
4763
4864 else :
49- raise error .InvalidAPIType ('Unsupported API type %s' % api_type )
50-
65+ raise error .InvalidAPIType ("Unsupported API type %s" % api_type )
5166
5267 @classmethod
5368 def create (
@@ -133,23 +148,31 @@ def instance_url(self):
133148 "id" ,
134149 )
135150
136- params_connector = '?'
151+ params_connector = "?"
137152 if self .typed_api_type == ApiType .AZURE :
138153 api_version = self .api_version or openai .api_version
139154 if not api_version :
140- raise error .InvalidRequestError ("An API version is required for the Azure API type." )
155+ raise error .InvalidRequestError (
156+ "An API version is required for the Azure API type."
157+ )
141158 extn = quote_plus (id )
142159 base = self .OBJECT_NAME .replace ("." , "/" )
143- url = "/%s/%s/%ss/%s?api-version=%s" % (self .azure_api_prefix , self .engine , base , extn , api_version )
144- params_connector = '&'
160+ url = "/%s/%s/%ss/%s?api-version=%s" % (
161+ self .azure_api_prefix ,
162+ self .engine ,
163+ base ,
164+ extn ,
165+ api_version ,
166+ )
167+ params_connector = "&"
145168
146169 elif self .typed_api_type == ApiType .OPEN_AI :
147170 base = self .class_url (self .engine , self .api_type , self .api_version )
148171 extn = quote_plus (id )
149172 url = "%s/%s" % (base , extn )
150173
151174 else :
152- raise error .InvalidAPIType (' Unsupported API type %s' % self .api_type )
175+ raise error .InvalidAPIType (" Unsupported API type %s" % self .api_type )
153176
154177 timeout = self .get ("timeout" )
155178 if timeout is not None :
0 commit comments