33from typing import cast
44
55import openai
6- from openai import api_requestor , util , error
6+ from openai import api_requestor , util
77from openai .api_resources .abstract import DeletableAPIResource , ListableAPIResource
8- from openai .util import ApiType
98
109
1110class File (ListableAPIResource , DeletableAPIResource ):
@@ -19,7 +18,6 @@ def create(
1918 model = None ,
2019 api_key = None ,
2120 api_base = None ,
22- api_type = None ,
2321 api_version = None ,
2422 organization = None ,
2523 user_provided_filename = None ,
@@ -29,61 +27,35 @@ def create(
2927 requestor = api_requestor .APIRequestor (
3028 api_key ,
3129 api_base = api_base or openai .api_base ,
32- api_type = api_type ,
3330 api_version = api_version ,
3431 organization = organization ,
3532 )
36- typed_api_type , api_version = cls ._get_api_type_and_version (api_type , api_version )
37-
38- if typed_api_type == ApiType .AZURE :
39- base = cls .class_url ()
40- url = "/%s%s?api-version=%s" % (cls .azure_api_prefix , base , api_version )
41- elif typed_api_type == ApiType .OPEN_AI :
42- url = cls .class_url ()
43- else :
44- raise error .InvalidAPIType ('Unsupported API type %s' % api_type )
45-
33+ url = cls .class_url ()
4634 # Set the filename on 'purpose' and 'model' to None so they are
4735 # interpreted as form data.
4836 files = [("purpose" , (None , purpose ))]
4937 if model is not None :
5038 files .append (("model" , (None , model )))
5139 if user_provided_filename is not None :
52- files .append (("file" , (user_provided_filename , file , 'application/octet-stream' )))
40+ files .append (("file" , (user_provided_filename , file )))
5341 else :
54- files .append (("file" , file , 'application/octet-stream' ))
42+ files .append (("file" , file ))
5543 response , _ , api_key = requestor .request ("post" , url , files = files )
5644 return util .convert_to_openai_object (
5745 response , api_key , api_version , organization
5846 )
5947
6048 @classmethod
6149 def download (
62- cls ,
63- id ,
64- api_key = None ,
65- api_base = None ,
66- api_type = None ,
67- api_version = None ,
68- organization = None
50+ cls , id , api_key = None , api_base = None , api_version = None , organization = None
6951 ):
7052 requestor = api_requestor .APIRequestor (
7153 api_key ,
7254 api_base = api_base or openai .api_base ,
73- api_type = api_type ,
7455 api_version = api_version ,
7556 organization = organization ,
7657 )
77- typed_api_type , api_version = cls ._get_api_type_and_version (api_type , api_version )
78-
79- if typed_api_type == ApiType .AZURE :
80- base = cls .class_url ()
81- url = "/%s%s/%s/content?api-version=%s" % (cls .azure_api_prefix , base , id , api_version )
82- elif typed_api_type == ApiType .OPEN_AI :
83- url = f"{ cls .class_url ()} /{ id } /content"
84- else :
85- raise error .InvalidAPIType ('Unsupported API type %s' % api_type )
86-
58+ url = f"{ cls .class_url ()} /{ id } /content"
8759 result = requestor .request_raw ("get" , url )
8860 if not 200 <= result .status_code < 300 :
8961 raise requestor .handle_error_response (
@@ -103,15 +75,13 @@ def find_matching_files(
10375 purpose ,
10476 api_key = None ,
10577 api_base = None ,
106- api_type = None ,
10778 api_version = None ,
10879 organization = None ,
10980 ):
11081 """Find already uploaded files with the same name, size, and purpose."""
11182 all_files = cls .list (
11283 api_key = api_key ,
11384 api_base = api_base or openai .api_base ,
114- api_type = api_type ,
11585 api_version = api_version ,
11686 organization = organization ,
11787 ).get ("data" , [])
@@ -123,9 +93,7 @@ def find_matching_files(
12393 file_basename = os .path .basename (f ["filename" ])
12494 if file_basename != basename :
12595 continue
126- if "bytes" in f and f ["bytes" ] != bytes :
127- continue
128- if "size" in f and int (f ["size" ]) != bytes :
96+ if f ["bytes" ] != bytes :
12997 continue
13098 matching_files .append (f )
13199 return matching_files
0 commit comments