Skip to content

Commit d4fbd6b

Browse files
clam004Carson LamCarson Lam
authored
Do not show the stack trace when user as no API key (#46)
* do not show a stack trace for missing api key * do not show a stack trace for missing api key --------- Co-authored-by: Carson Lam <[email protected]> Co-authored-by: Carson Lam <[email protected]>
1 parent 53ee01b commit d4fbd6b

File tree

6 files changed

+47
-21
lines changed

6 files changed

+47
-21
lines changed

src/together/complete.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ def create(
4141
response = create_post_request(
4242
url=together.api_base_complete, json=parameter_payload
4343
)
44-
44+
if not response:
45+
return {}
4546
try:
4647
response_json = dict(response.json())
4748

@@ -85,7 +86,8 @@ def create_streaming(
8586
response = create_post_request(
8687
url=together.api_base_complete, json=parameter_payload, stream=True
8788
)
88-
89+
if not response:
90+
return {}
8991
output = ""
9092
client = sse_client(response)
9193
for event in client.events():

src/together/files.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ class Files:
3030
def list(self) -> Dict[str, List[Dict[str, Union[str, int]]]]:
3131
# send request
3232
response = create_get_request(together.api_base_files)
33-
33+
if not response:
34+
return {}
3435
return response_to_dict(response)
3536

3637
@classmethod
@@ -165,11 +166,10 @@ def delete(self, file_id: str) -> Dict[str, str]:
165166
@classmethod
166167
def retrieve(self, file_id: str) -> Dict[str, Union[str, int]]:
167168
retrieve_url = urllib.parse.urljoin(together.api_base_files, file_id)
168-
169169
logger.info(f"Retrieve URL: {retrieve_url}")
170-
171170
response = create_get_request(retrieve_url)
172-
171+
if not response:
172+
return {}
173173
return response_to_dict(response)
174174

175175
@classmethod

src/together/finetune.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,35 +173,43 @@ def create(
173173
response = create_post_request(
174174
together.api_base_finetune, json=parameter_payload
175175
)
176-
176+
if not response:
177+
return {}
177178
return response_to_dict(response)
178179

179180
@classmethod
180181
def list(self) -> Dict[Any, Any]:
181182
# send request
182183
response = create_get_request(together.api_base_finetune)
184+
if not response:
185+
return {}
183186
return response_to_dict(response)
184187

185188
@classmethod
186189
def retrieve(self, fine_tune_id: str) -> Dict[Any, Any]:
187190
retrieve_url = urllib.parse.urljoin(together.api_base_finetune, fine_tune_id)
188191
response = create_get_request(retrieve_url)
192+
if not response:
193+
return {}
189194
return response_to_dict(response)
190195

191196
@classmethod
192197
def cancel(self, fine_tune_id: str) -> Dict[Any, Any]:
193198
relative_path = posixpath.join(fine_tune_id, "cancel")
194199
retrieve_url = urllib.parse.urljoin(together.api_base_finetune, relative_path)
195200
response = create_post_request(retrieve_url)
201+
if not response:
202+
return {}
196203
return response_to_dict(response)
197204

198205
@classmethod
199206
def list_events(self, fine_tune_id: str) -> Dict[Any, Any]:
200207
# TODO enable stream
201208
relative_path = posixpath.join(fine_tune_id, "events")
202209
retrieve_url = urllib.parse.urljoin(together.api_base_finetune, relative_path)
203-
204210
response = create_get_request(retrieve_url)
211+
if not response:
212+
return {}
205213
return response_to_dict(response)
206214

207215
@classmethod

src/together/image.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,6 @@ def create(
3939
response = create_post_request(
4040
together.api_base_complete, json=parameter_payload
4141
)
42-
42+
if not response:
43+
return {}
4344
return response_to_dict(response)

src/together/models.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ class Models:
1818
def list(self) -> List[Any]:
1919
model_url = urllib.parse.urljoin(together.api_base, "models/info?=")
2020
response = create_get_request(model_url)
21-
21+
if not response:
22+
return []
2223
try:
2324
response_list = list(response.json())
2425
except Exception as e:
2526
raise together.ResponseError(e, http_status=response.status_code)
26-
2727
return response_list
2828

2929
@classmethod
@@ -38,14 +38,16 @@ def info(self, model: str, hidden_keys: List[str] = []) -> Dict[str, Any]:
3838
info_dict.pop(key, None)
3939
else:
4040
raise ValueError(
41-
f"Model {model} does not exist. Use together.Models.list() to list available models."
41+
f"Unable to access {model}. Check your TOGETHER_API_KEY and use together.Models.list() to list available models."
4242
)
4343

4444
return dict(info_dict)
4545

4646
@classmethod
4747
def instances(self) -> Dict[str, bool]:
4848
response = create_get_request(together.api_base_instances)
49+
if not response:
50+
return {}
4951
return response_to_dict(response)
5052

5153
@classmethod
@@ -54,6 +56,8 @@ def start(self, model: str) -> Dict[str, str]:
5456
together.api_base_instances, f"start?model={model}"
5557
)
5658
response = create_post_request(model_url)
59+
if not response:
60+
return {}
5761
return response_to_dict(response)
5862

5963
@classmethod
@@ -62,13 +66,16 @@ def stop(self, model: str) -> Dict[str, str]:
6266
together.api_base_instances, f"stop?model={model}"
6367
)
6468
response = create_post_request(model_url)
69+
if not response:
70+
return {}
6571
return response_to_dict(response)
6672

6773
@classmethod
6874
def ready(self, model: str) -> List[Any]:
6975
ready_url = urllib.parse.urljoin(together.api_base, "models/info?name=" + model)
7076
response = create_get_request(ready_url)
71-
77+
if not response:
78+
return []
7279
try:
7380
response_list = list(response.json())
7481
except Exception as e:

src/together/utils.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logging
22
import sys
33
from datetime import datetime
4-
from typing import Any, Dict, Optional
4+
from typing import Any, Dict, Optional, Union
55

66
import requests
77
import sseclient # type: ignore
@@ -53,13 +53,19 @@ def get_logger(
5353
return logger
5454

5555

56-
def verify_api_key(logger: Optional[logging.Logger] = None) -> None:
56+
def verify_api_key(logger: Optional[logging.Logger] = None) -> bool:
5757
if logger is None:
5858
logger = get_logger(str(__name__), log_level=together.log_level)
5959
if together.api_key is None:
60-
raise together.AuthenticationError(
61-
"TOGETHER_API_KEY not found. Please set it as an environment variable or set it with together.api_key"
60+
msg = (
61+
"TOGETHER_API_KEY not found \n"
62+
"Please set it as an environment variable or set it as together.api_key \n"
63+
"Find your TOGETHER_API_KEY at https://api.together.xyz/settings/api-keys"
6264
)
65+
print(msg)
66+
return False
67+
else:
68+
return True
6369

6470

6571
def extract_time(json_obj: Dict[str, Any]) -> int:
@@ -85,9 +91,10 @@ def create_post_request(
8591
json: Optional[dict[Any, Any]] = None,
8692
stream: Optional[bool] = False,
8793
check_auth: Optional[bool] = True,
88-
) -> requests.Response:
94+
) -> Union[requests.Response, None]:
8995
if check_auth:
90-
verify_api_key()
96+
if not verify_api_key():
97+
return None
9198

9299
if not headers:
93100
headers = {
@@ -121,9 +128,10 @@ def create_get_request(
121128
json: Optional[dict[Any, Any]] = None,
122129
stream: Optional[bool] = False,
123130
check_auth: Optional[bool] = True,
124-
) -> requests.Response:
131+
) -> Union[requests.Response, None]:
125132
if check_auth:
126-
verify_api_key()
133+
if not verify_api_key():
134+
return None
127135

128136
if not headers:
129137
headers = {

0 commit comments

Comments
 (0)