mirror of
https://github.com/migatu/conjurer.git
synced 2026-07-17 07:12:09 +00:00
Fix
This commit is contained in:
@@ -343,8 +343,18 @@ def num_tokens_from_string(string, model):
|
|||||||
tokens for
|
tokens for
|
||||||
:return: the number of tokens in the given string.
|
:return: the number of tokens in the given string.
|
||||||
"""
|
"""
|
||||||
|
tokens_per_message = 3
|
||||||
|
tokens_per_name = 1
|
||||||
chat_gpt_encoding = tiktoken.encoding_for_model(model)
|
chat_gpt_encoding = tiktoken.encoding_for_model(model)
|
||||||
|
|
||||||
num_tokens = len(chat_gpt_encoding.encode(string))
|
num_tokens = len(chat_gpt_encoding.encode(string))
|
||||||
|
num_tokens = 0
|
||||||
|
num_tokens += tokens_per_message
|
||||||
|
for keys, values in string.items():
|
||||||
|
num_tokens += len(chat_gpt_encoding.encode(values))
|
||||||
|
if keys == "role":
|
||||||
|
num_tokens += tokens_per_name
|
||||||
|
num_tokens += 3 # every reply is primed with <|start|>assistant<|message|>
|
||||||
return num_tokens
|
return num_tokens
|
||||||
|
|
||||||
|
|
||||||
@@ -593,12 +603,13 @@ async def handle_response(prompt, vykidailo, bartender, history, username, music
|
|||||||
json.dump(file_data, file_memory, indent=4)
|
json.dump(file_data, file_memory, indent=4)
|
||||||
history = []
|
history = []
|
||||||
history.append(GPT_SETTINGS[0])
|
history.append(GPT_SETTINGS[0])
|
||||||
tokens = num_tokens_from_string(GPT_SETTINGS[0]["content"], "gpt-4")
|
tokens = num_tokens_from_string(GPT_SETTINGS[0]["content"], "gpt-4") + num_tokens_from_string(GPT_SETTINGS[0]["role"], "gpt-4")
|
||||||
|
|
||||||
for (slowo, reakcja) in word_reactions.items():
|
for (slowo, reakcja) in word_reactions.items():
|
||||||
if not reakcja[3]:
|
if not reakcja[3]:
|
||||||
content = "Kiedy słyszysz " + slowo + " to reagujesz lub dzieje się to " + reakcja[0]
|
content = "Kiedy słyszysz " + slowo + " to reagujesz lub dzieje się to " + reakcja[0]
|
||||||
temp = {"role": "system", "content": content}
|
temp = {"role": "system", "content": content}
|
||||||
tokens += num_tokens_from_string(content, "gpt-4")
|
tokens += num_tokens_from_string(temp, "gpt-4")
|
||||||
history.append(temp)
|
history.append(temp)
|
||||||
|
|
||||||
final_prompt = username + ":" + prompt
|
final_prompt = username + ":" + prompt
|
||||||
@@ -612,12 +623,12 @@ async def handle_response(prompt, vykidailo, bartender, history, username, music
|
|||||||
algorithm = "gpt-4"
|
algorithm = "gpt-4"
|
||||||
token_amount = 8192
|
token_amount = 8192
|
||||||
|
|
||||||
prompt_tokens = num_tokens_from_string(final_prompt, "gpt-4")
|
prompt_tokens = num_tokens_from_string({"role": "user", "content": final_prompt}, "gpt-4")
|
||||||
for i in reversed(table):
|
for i in reversed(table):
|
||||||
temp_token = num_tokens_from_string(i["content"], "gpt-4")
|
temp_token = num_tokens_from_string(i, "gpt-4")
|
||||||
logger.error("Liczba tokenow %s prompt token %s temp token %s", tokens, prompt_tokens, temp_token)
|
logger.error("Liczba tokenow %s prompt token %s temp token %s", tokens, prompt_tokens, temp_token)
|
||||||
if tokens < token_amount + prompt_tokens + temp_token:
|
if tokens < token_amount + prompt_tokens + temp_token:
|
||||||
#history.append(i)
|
history.append(i)
|
||||||
tokens += temp_token
|
tokens += temp_token
|
||||||
|
|
||||||
temp = {"role": "user", "content": final_prompt}
|
temp = {"role": "user", "content": final_prompt}
|
||||||
|
|||||||
Reference in New Issue
Block a user