openai/openai-python

Public

mirrored from https://github.com/openai/openai-pythonAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v0.22.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

openai/api_resources/abstract/createable_api_resource.py

49lines · modecode

1from openai import api_requestor, util, error
2from openai.api_resources.abstract.api_resource import APIResource
3from openai.util import ApiType
4
5
6class CreateableAPIResource(APIResource):
7 plain_old_data = False
8
9 @classmethod
10 def create(
11 cls,
12 api_key=None,
13 api_base=None,
14 api_type=None,
15 request_id=None,
16 api_version=None,
17 organization=None,
18 **params,
19 ):
20 requestor = api_requestor.APIRequestor(
21 api_key,
22 api_base=api_base,
23 api_type=api_type,
24 api_version=api_version,
25 organization=organization,
26 )
27 typed_api_type, api_version = cls._get_api_type_and_version(
28 api_type, api_version
29 )
30
31 if typed_api_type in (ApiType.AZURE, ApiType.AZURE_AD):
32 base = cls.class_url()
33 url = "/%s%s?api-version=%s" % (cls.azure_api_prefix, base, api_version)
34 elif typed_api_type == ApiType.OPEN_AI:
35 url = cls.class_url()
36 else:
37 raise error.InvalidAPIType("Unsupported API type %s" % api_type)
38
39 response, _, api_key = requestor.request(
40 "post", url, params, request_id=request_id
41 )
42
43 return util.convert_to_openai_object(
44 response,
45 api_key,
46 api_version,
47 organization,
48 plain_old_data=cls.plain_old_data,
49 )