|
|
@ -550,12 +550,12 @@ class ChatOpenAI(BaseChatModel):
|
|
|
|
if sys.version_info[1] <= 7:
|
|
|
|
if sys.version_info[1] <= 7:
|
|
|
|
return super().get_num_tokens_from_messages(messages)
|
|
|
|
return super().get_num_tokens_from_messages(messages)
|
|
|
|
model, encoding = self._get_encoding_model()
|
|
|
|
model, encoding = self._get_encoding_model()
|
|
|
|
if model.startswith("gpt-3.5-turbo"):
|
|
|
|
if model.startswith("gpt-3.5-turbo-0301"):
|
|
|
|
# every message follows <im_start>{role/name}\n{content}<im_end>\n
|
|
|
|
# every message follows <im_start>{role/name}\n{content}<im_end>\n
|
|
|
|
tokens_per_message = 4
|
|
|
|
tokens_per_message = 4
|
|
|
|
# if there's a name, the role is omitted
|
|
|
|
# if there's a name, the role is omitted
|
|
|
|
tokens_per_name = -1
|
|
|
|
tokens_per_name = -1
|
|
|
|
elif model.startswith("gpt-4"):
|
|
|
|
elif model.startswith("gpt-3.5-turbo") or model.startswith("gpt-4"):
|
|
|
|
tokens_per_message = 3
|
|
|
|
tokens_per_message = 3
|
|
|
|
tokens_per_name = 1
|
|
|
|
tokens_per_name = 1
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|