Skip to content

Commit ada3cc2

Browse files
committed
cleaner message for openai.RequestError
specifically as people often seem to get gpt-4 not available
1 parent ebf611e commit ada3cc2

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

chatblade/chat.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
import tiktoken
33
import openai
44

5+
from chatblade import errors
6+
57
from . import utils
68

79
Message = collections.namedtuple("Message", ["role", "content"])
@@ -62,11 +64,14 @@ def query_chat_gpt(messages, config):
6264
openai.api_key = config["openai_api_key"]
6365
config = utils.merge_dicts(DEFAULT_OPENAI_SETTINGS, config)
6466
dict_messages = [msg._asdict() for msg in messages]
65-
result = openai.ChatCompletion.create(messages=dict_messages, **config)
66-
if not isinstance(result, dict):
67-
raise ValueError(
68-
"OpenAI Result is not a dict got %s: %s" % (type(result), result)
69-
)
70-
response_message = [choice["message"] for choice in result["choices"]][0]
71-
message = Message(response_message["role"], response_message["content"])
72-
return message, result
67+
try:
68+
result = openai.ChatCompletion.create(messages=dict_messages, **config)
69+
if not isinstance(result, dict):
70+
raise ValueError(
71+
"OpenAI Result is not a dict got %s: %s" % (type(result), result)
72+
)
73+
response_message = [choice["message"] for choice in result["choices"]][0]
74+
message = Message(response_message["role"], response_message["content"])
75+
return message, result
76+
except openai.InvalidRequestError as e:
77+
raise errors.ChatbladeError(f"openai.invalidRequestError: {e}")

0 commit comments

Comments
 (0)