hotfix
Browse files
app.py
CHANGED
|
@@ -6,8 +6,8 @@ from typing import List, Dict, Iterator
|
|
| 6 |
from threading import Thread
|
| 7 |
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig, TextIteratorStreamer
|
| 8 |
from peft import PeftModel
|
|
|
|
| 9 |
|
| 10 |
-
# --- 1) Конфигурация и загрузка модели ---
|
| 11 |
BASE_MODEL_ID = "Tweeties/tweety-7b-tatar-v24a"
|
| 12 |
ADAPTER_ID = os.getenv("ADAPTER_ID")
|
| 13 |
YANDEX_API_KEY = os.getenv("YANDEX_API_KEY")
|
|
@@ -115,13 +115,18 @@ def chat_fn(message: str, ui_history: list, messages_state: List[Dict[str, str]]
|
|
| 115 |
messages = messages_state + [{"role": "user", "content": user_tt}]
|
| 116 |
ui_history = ui_history + [[user_tt, ""]]
|
| 117 |
|
|
|
|
| 118 |
for partial in generate_tt_reply_stream(messages):
|
|
|
|
| 119 |
ui_history[-1][1] = partial
|
| 120 |
yield ui_history, messages_state + [
|
| 121 |
{"role": "user", "content": user_tt},
|
| 122 |
{"role": "assistant", "content": partial},
|
| 123 |
]
|
| 124 |
|
|
|
|
|
|
|
|
|
|
| 125 |
|
| 126 |
with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
| 127 |
gr.Markdown("## Татарский чат-бот от команды Сбера")
|
|
@@ -147,7 +152,6 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
| 147 |
return [], [{"role": "system", "content": SYS_PROMPT_TT}]
|
| 148 |
|
| 149 |
clear.click(_reset, inputs=None, outputs=[chatbot, messages_state], queue=False)
|
| 150 |
-
print("Messages_state: " + messages_state)
|
| 151 |
clear.click(lambda: "", None, msg, queue=False)
|
| 152 |
|
| 153 |
if __name__ == "__main__":
|
|
|
|
| 6 |
from threading import Thread
|
| 7 |
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig, TextIteratorStreamer
|
| 8 |
from peft import PeftModel
|
| 9 |
+
import json
|
| 10 |
|
|
|
|
| 11 |
BASE_MODEL_ID = "Tweeties/tweety-7b-tatar-v24a"
|
| 12 |
ADAPTER_ID = os.getenv("ADAPTER_ID")
|
| 13 |
YANDEX_API_KEY = os.getenv("YANDEX_API_KEY")
|
|
|
|
| 115 |
messages = messages_state + [{"role": "user", "content": user_tt}]
|
| 116 |
ui_history = ui_history + [[user_tt, ""]]
|
| 117 |
|
| 118 |
+
last = ""
|
| 119 |
for partial in generate_tt_reply_stream(messages):
|
| 120 |
+
last = partial # ADD
|
| 121 |
ui_history[-1][1] = partial
|
| 122 |
yield ui_history, messages_state + [
|
| 123 |
{"role": "user", "content": user_tt},
|
| 124 |
{"role": "assistant", "content": partial},
|
| 125 |
]
|
| 126 |
|
| 127 |
+
final_state = messages + [{"role": "assistant", "content": last}]
|
| 128 |
+
print("STATE:", json.dumps(final_state, ensure_ascii=False))
|
| 129 |
+
|
| 130 |
|
| 131 |
with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
| 132 |
gr.Markdown("## Татарский чат-бот от команды Сбера")
|
|
|
|
| 152 |
return [], [{"role": "system", "content": SYS_PROMPT_TT}]
|
| 153 |
|
| 154 |
clear.click(_reset, inputs=None, outputs=[chatbot, messages_state], queue=False)
|
|
|
|
| 155 |
clear.click(lambda: "", None, msg, queue=False)
|
| 156 |
|
| 157 |
if __name__ == "__main__":
|