Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -41,7 +41,7 @@ def build_prompt(message, history, system_message, max_ctx_tokens=1024):
|
|
| 41 |
break
|
| 42 |
|
| 43 |
def respond_stream(message, history, system_message, max_tokens, temperature, top_p):
|
| 44 |
-
user_id = "default"
|
| 45 |
past = sessions.get(user_id)
|
| 46 |
|
| 47 |
if past is None:
|
|
@@ -66,26 +66,21 @@ def respond_stream(message, history, system_message, max_tokens, temperature, to
|
|
| 66 |
kwargs={**inputs, **{k: v for k, v in gen_kwargs.items() if v is not None}, "streamer": streamer}
|
| 67 |
)
|
| 68 |
|
| 69 |
-
|
| 70 |
token_count = 0
|
|
|
|
| 71 |
|
| 72 |
with torch.inference_mode():
|
| 73 |
thread.start()
|
| 74 |
for token_text in streamer:
|
| 75 |
token_count += 1
|
| 76 |
-
|
|
|
|
| 77 |
thread.join()
|
| 78 |
|
| 79 |
end_time = time.time()
|
| 80 |
tps = token_count / (end_time - start_time) if (end_time - start_time) > 0 else 0
|
| 81 |
-
|
| 82 |
-
# KV cache güncelle
|
| 83 |
-
# generate() ile streamer kullanıldığında past_key_values doğrudan dönmez,
|
| 84 |
-
# bu yüzden cache'i burada güncellemek için model.forward tabanlı bir yapı kurmak gerekir.
|
| 85 |
-
# Basitlik için bu örnekte cache ilk turdan sonra sıfırlanıyor.
|
| 86 |
-
sessions[user_id] = None # İstersen burayı ileri seviye cache yönetimi ile değiştirebilirsin.
|
| 87 |
-
|
| 88 |
-
yield f"\n\n⚡ **Hız:** {tps:.2f} token/sn"
|
| 89 |
|
| 90 |
demo = gr.ChatInterface(
|
| 91 |
respond_stream,
|
|
|
|
| 41 |
break
|
| 42 |
|
| 43 |
def respond_stream(message, history, system_message, max_tokens, temperature, top_p):
|
| 44 |
+
user_id = "default"
|
| 45 |
past = sessions.get(user_id)
|
| 46 |
|
| 47 |
if past is None:
|
|
|
|
| 66 |
kwargs={**inputs, **{k: v for k, v in gen_kwargs.items() if v is not None}, "streamer": streamer}
|
| 67 |
)
|
| 68 |
|
| 69 |
+
partial_text = "" # Biriken metin
|
| 70 |
token_count = 0
|
| 71 |
+
start_time = time.time()
|
| 72 |
|
| 73 |
with torch.inference_mode():
|
| 74 |
thread.start()
|
| 75 |
for token_text in streamer:
|
| 76 |
token_count += 1
|
| 77 |
+
partial_text += token_text # Yeni token'ı ekle
|
| 78 |
+
yield partial_text # Tamamını gönder (append efekti)
|
| 79 |
thread.join()
|
| 80 |
|
| 81 |
end_time = time.time()
|
| 82 |
tps = token_count / (end_time - start_time) if (end_time - start_time) > 0 else 0
|
| 83 |
+
yield partial_text + f"\n\n⚡ **Hız:** {tps:.2f} token/sn"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
|
| 85 |
demo = gr.ChatInterface(
|
| 86 |
respond_stream,
|