HaveAI commited on
Commit
809c7df
·
verified ·
1 Parent(s): 0396547

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -31
app.py CHANGED
@@ -1,10 +1,8 @@
1
  import gradio as gr
2
- from huggingface_hub import InferenceClient
3
- import os
4
 
5
- # Используем InferenceClient для прямой работы с моделью
6
- # Он автоматически подтянет ваш токен из настроек Space
7
- client = InferenceClient("moonshotai/Kimi-K2-Thinking")
8
 
9
  custom_theme = gr.themes.Soft(
10
  primary_hue="yellow",
@@ -20,41 +18,31 @@ css = """
20
  """
21
 
22
  def predict(message, history):
23
- # Формируем сообщения для чата
24
- messages = [
25
- {"role": "system", "content": "Тебя зовут Gemini."},
26
- ]
27
 
28
- # Добавляем историю сообщений (чтобы бот помнил контекст)
29
- for human, assistant in history:
30
- messages.append({"role": "user", "content": human})
31
- messages.append({"role": "assistant", "content": assistant})
32
-
33
- # Добавляем текущее сообщение
34
- messages.append({"role": "user", "content": message})
35
-
36
- response = ""
37
  try:
38
- # Стриминг ответаекст будет появляться постепенно)
39
- for message_chunk in client.chat_completion(
40
- messages,
41
- max_tokens=512,
42
- stream=True,
43
- ):
44
- token = message_chunk.choices[0].delta.content
45
- if token:
46
- response += token
47
- yield response
 
48
  except Exception as e:
49
- yield f"Произошла ошибка: {str(e)}"
50
 
51
- with gr.Blocks(theme=custom_theme, css=css, fill_height=True) as demo:
52
  with gr.Sidebar(elem_id="side-bar"):
53
  gr.Markdown("# **FlareAI**")
54
  gr.Markdown("Flare — твой персональный ассистент")
55
  gr.LoginButton("Войти")
56
 
57
- # Используем ChatInterface с поддержкой истории
58
  gr.ChatInterface(fn=predict)
59
 
60
  demo.launch()
 
1
  import gradio as gr
 
 
2
 
3
+ # Загружаем модель один раз
4
+ # Это самый стабильный способ для бесплатных Space
5
+ model = gr.load("models/moonshotai/Kimi-K2-Thinking", provider="novita")
6
 
7
  custom_theme = gr.themes.Soft(
8
  primary_hue="yellow",
 
18
  """
19
 
20
  def predict(message, history):
21
+ # Системный промпт
22
+ system_instr = "Тебя зовут Gemini. "
23
+ full_prompt = system_instr + message
 
24
 
 
 
 
 
 
 
 
 
 
25
  try:
26
+ # Вызываем модель
27
+ response = model(full_prompt)
28
+
29
+ # Проверка: если пришел список, берем первый элемент
30
+ if isinstance(response, list):
31
+ return response[0]
32
+ # Если пришел словарь (бывает в некоторых API)
33
+ elif isinstance(response, dict):
34
+ return response.get("generated_text", str(response))
35
+
36
+ return response
37
  except Exception as e:
38
+ return f"Ошибка: {str(e)}. Попробуй подождать 10 секунд и отправить снова."
39
 
40
+ with gr.Blocks(theme=custom_theme, css=css) as demo:
41
  with gr.Sidebar(elem_id="side-bar"):
42
  gr.Markdown("# **FlareAI**")
43
  gr.Markdown("Flare — твой персональный ассистент")
44
  gr.LoginButton("Войти")
45
 
 
46
  gr.ChatInterface(fn=predict)
47
 
48
  demo.launch()