HaveAI commited on
Commit
4d582ca
·
verified ·
1 Parent(s): 24a5120

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -26
app.py CHANGED
@@ -2,31 +2,28 @@ import gradio as gr
2
  from huggingface_hub import InferenceClient
3
  import os
4
 
5
- # Используем токен и модель (Llama 3.2 — одна из самых стабильных сейчас)
6
  token = os.getenv("HF_TOKEN")
7
- client = InferenceClient("meta-llama/Llama-3.2-3B-Instruct", token=token)
 
8
 
9
  def respond(message, history):
10
  # Начальный системный промпт
11
- messages = [{"role": "system", "content": "Ты — дружелюбный ИИ-помощник. Отвечай на русском языке."}]
12
-
13
- # Умная обработка истории, чтобы избежать ошибки unpack
14
- for entry in history:
15
- if isinstance(entry, dict):
16
- # Если история пришла в новом формате (словари)
17
- messages.append(entry)
18
- elif isinstance(entry, (list, tuple)):
19
- # Если история пришла в старом формате (пары)
20
- messages.append({"role": "user", "content": entry[0]})
21
- messages.append({"role": "assistant", "content": entry[1]})
22
-
23
- # Добавляем новое сообщение пользователя
24
  messages.append({"role": "user", "content": message})
25
 
26
  response = ""
27
 
28
  try:
29
- # Генерация ответа
30
  for message_chunk in client.chat_completion(
31
  messages=messages,
32
  max_tokens=1000,
@@ -38,16 +35,10 @@ def respond(message, history):
38
  response += token_text
39
  yield response
40
  except Exception as e:
41
- yield f"Произошла ошибка API: {str(e)}"
42
-
43
- # Создаем интерфейс.
44
- # В новых версиях Gradio тип 'messages' для type_history наиболее стабилен
45
- demo = gr.ChatInterface(
46
- fn=respond,
47
- type="messages",
48
- title="Мой умный чат-бот",
49
- textbox=gr.Textbox(placeholder="Напиши что-нибудь...", container=False, scale=7),
50
- )
51
 
52
  if __name__ == "__main__":
53
  demo.launch()
 
2
  from huggingface_hub import InferenceClient
3
  import os
4
 
5
+ # 1. Инициализация клиента
6
  token = os.getenv("HF_TOKEN")
7
+ # Используем модель, которая лучше всего понимает русский
8
+ client = InferenceClient("HuggingFaceH4/zephyr-7b-beta", token=token)
9
 
10
  def respond(message, history):
11
  # Начальный системный промпт
12
+ system_message = "Ты — полезный ИИ-ассистент. Отвечай на русском языке."
13
+ messages = [{"role": "system", "content": system_message}]
14
+
15
+ # Обработка истории (самый старый и надежный способ)
16
+ for user_msg, assistant_msg in history:
17
+ messages.append({"role": "user", "content": user_msg})
18
+ messages.append({"role": "assistant", "content": assistant_msg})
19
+
20
+ # Добавляем текущее сообщение
 
 
 
 
21
  messages.append({"role": "user", "content": message})
22
 
23
  response = ""
24
 
25
  try:
26
+ # Генерация
27
  for message_chunk in client.chat_completion(
28
  messages=messages,
29
  max_tokens=1000,
 
35
  response += token_text
36
  yield response
37
  except Exception as e:
38
+ yield f"Ошибка API: {str(e)}"
39
+
40
+ # 2. Самый простой запуск интерфейса без лишних аргументов
41
+ demo = gr.ChatInterface(fn=respond)
 
 
 
 
 
 
42
 
43
  if __name__ == "__main__":
44
  demo.launch()