Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -24,19 +24,17 @@ def ask(question, history, behavior):
|
|
| 24 |
{"role":"user" if i%2==0 else "assistant", "content":content}
|
| 25 |
for i,content in enumerate(history + [question])
|
| 26 |
]
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
while response.startswith("\n"):
|
| 39 |
-
response = response[1:]
|
| 40 |
except Exception as e:
|
| 41 |
print(e)
|
| 42 |
response = 'Timeout! Please wait a few minutes and retry'
|
|
@@ -64,7 +62,7 @@ def num_tokens_from_messages(messages, model="gpt-3.5-turbo"):
|
|
| 64 |
raise NotImplementedError(f"""num_tokens_from_messages() is not presently implemented for model {model}.
|
| 65 |
See https://github.com/openai/openai-python/blob/main/chatml.md for information on how messages are converted to tokens.""")
|
| 66 |
|
| 67 |
-
def forget_long_term(messages, max_num_tokens=
|
| 68 |
while num_tokens_from_messages(messages)>max_num_tokens:
|
| 69 |
if messages[0]["role"]=="system" and not len(messages[0]["content"]>=max_num_tokens):
|
| 70 |
messages = messages[:1] + messages[2:]
|
|
|
|
| 24 |
{"role":"user" if i%2==0 else "assistant", "content":content}
|
| 25 |
for i,content in enumerate(history + [question])
|
| 26 |
]
|
| 27 |
+
raw_length = num_tokens_from_messages(messages)
|
| 28 |
+
messages=forget_long_term(messages)
|
| 29 |
+
if len(messages)==0:
|
| 30 |
+
response = 'Your query is too long and expensive: {raw_length}>1000 tokens'
|
| 31 |
+
else:
|
| 32 |
+
response = openai.ChatCompletion.create(
|
| 33 |
+
model="gpt-3.5-turbo",
|
| 34 |
+
messages=messages
|
| 35 |
+
)["choices"][0]["message"]["content"]
|
| 36 |
+
while response.startswith("\n"):
|
| 37 |
+
response = response[1:]
|
|
|
|
|
|
|
| 38 |
except Exception as e:
|
| 39 |
print(e)
|
| 40 |
response = 'Timeout! Please wait a few minutes and retry'
|
|
|
|
| 62 |
raise NotImplementedError(f"""num_tokens_from_messages() is not presently implemented for model {model}.
|
| 63 |
See https://github.com/openai/openai-python/blob/main/chatml.md for information on how messages are converted to tokens.""")
|
| 64 |
|
| 65 |
+
def forget_long_term(messages, max_num_tokens=1000):
|
| 66 |
while num_tokens_from_messages(messages)>max_num_tokens:
|
| 67 |
if messages[0]["role"]=="system" and not len(messages[0]["content"]>=max_num_tokens):
|
| 68 |
messages = messages[:1] + messages[2:]
|