Yermek68 commited on
Commit
6539c45
·
verified ·
1 Parent(s): 5b27712

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -18
app.py CHANGED
@@ -5,24 +5,23 @@ from core.dashboard import ErohaDashboard
5
  from core.intelligence import update_memory, summarize_context
6
  from core.selfcheck import evaluate_answer, improve_answer
7
  from core.learning import analyze_user_input, adapt_answer
8
- from core.model_selector import choose_model, select_model
9
 
10
- # 🔐 Если токен есть, вставь сюда
11
- HEADERS = {"Authorization": "Bearer hf_your_token"} # можно убрать, если не нужен
12
 
13
  dashboard = ErohaDashboard()
14
 
15
- # === 1️⃣ Основная функция агента ===
16
  def generate_response(user_input):
17
  try:
18
  start = time.time()
19
 
20
- # Анализ предпочтений и выбор модели
21
  prefs = analyze_user_input(user_input)
22
  model_id = choose_model(user_input)
23
  api_url = f"https://api-inference.huggingface.co/models/{model_id}"
24
 
25
- # Запрос к API
26
  payload = {"inputs": user_input, "parameters": {"max_new_tokens": 600, "temperature": 0.7}}
27
  response = requests.post(api_url, headers=HEADERS, json=payload)
28
 
@@ -30,24 +29,24 @@ def generate_response(user_input):
30
  return f"⚠️ Ошибка API ({response.status_code}): {response.text}"
31
 
32
  result = response.json()
33
- base_output = result[0]["generated_text"] if isinstance(result, list) else result
34
 
35
- # Самоанализ и улучшение
36
  check = evaluate_answer(base_output)
37
  improved = improve_answer(base_output)
38
 
39
- # Адаптация под пользователя
40
  personalized = adapt_answer(improved)
41
 
42
- # Обновление памяти
43
  update_memory(user_input, personalized)
44
  context = summarize_context()
45
 
46
- # Метрики
47
  response_time = round(time.time() - start, 2)
48
  dashboard.log_request(model_id, prefs["category"], response_time)
49
 
50
- # Формирование ответа
51
  summary = (
52
  f"🧠 Модель: `{model_id}`\n"
53
  f"🧩 Тип запроса: {prefs['category']}\n"
@@ -63,21 +62,20 @@ def generate_response(user_input):
63
  return f"❌ Ошибка: {str(e)}"
64
 
65
 
66
- # === 2️⃣ Функции Dashboard ===
67
  def show_dashboard():
68
  metrics_text, df = dashboard.dashboard_ui()
69
  return metrics_text, df
70
 
71
 
72
- # === 3️⃣ Интерфейс ===
73
- with gr.Blocks(title="Eroha AgentAPI v5.0 — Guru Edition", theme="soft") as app:
74
  gr.Markdown("# 🤖 Eroha AgentAPI v5.0 — Guru Edition")
75
- gr.Markdown("*Автоматический интеллект + самообучение + аналитика 🧠*")
76
 
77
  with gr.Tab("💬 Agent Chat"):
78
  user_input = gr.Textbox(
79
  label="Введите запрос",
80
- placeholder="Например: Объясни, как работает квантовая суперпозиция или напиши код..."
81
  )
82
  output_box = gr.Textbox(label="Ответ", lines=15)
83
  submit_btn = gr.Button("🚀 Отправить")
@@ -89,6 +87,6 @@ with gr.Blocks(title="Eroha AgentAPI v5.0 — Guru Edition", theme="soft") as ap
89
  refresh = gr.Button("🔄 Обновить")
90
  refresh.click(show_dashboard, outputs=[metrics, log_table])
91
 
92
- # === 4️⃣ Запуск ===
93
  app.launch(server_name="0.0.0.0", server_port=7860)
94
 
 
 
5
  from core.intelligence import update_memory, summarize_context
6
  from core.selfcheck import evaluate_answer, improve_answer
7
  from core.learning import analyze_user_input, adapt_answer
8
+ from core.model_selector import choose_model
9
 
10
+ # 🔐 Токен Hugging Face (если не нужен — просто удали строку)
11
+ HEADERS = {"Authorization": "Bearer hf_your_token"}
12
 
13
  dashboard = ErohaDashboard()
14
 
 
15
  def generate_response(user_input):
16
  try:
17
  start = time.time()
18
 
19
+ # 1️⃣ Определение модели
20
  prefs = analyze_user_input(user_input)
21
  model_id = choose_model(user_input)
22
  api_url = f"https://api-inference.huggingface.co/models/{model_id}"
23
 
24
+ # 2️⃣ Запрос к модели
25
  payload = {"inputs": user_input, "parameters": {"max_new_tokens": 600, "temperature": 0.7}}
26
  response = requests.post(api_url, headers=HEADERS, json=payload)
27
 
 
29
  return f"⚠️ Ошибка API ({response.status_code}): {response.text}"
30
 
31
  result = response.json()
32
+ base_output = result[0]["generated_text"] if isinstance(result, list) else str(result)
33
 
34
+ # 3️⃣ Самоанализ и улучшение
35
  check = evaluate_answer(base_output)
36
  improved = improve_answer(base_output)
37
 
38
+ # 4️⃣ Адаптация под стиль пользователя
39
  personalized = adapt_answer(improved)
40
 
41
+ # 5️⃣ Память и контекст
42
  update_memory(user_input, personalized)
43
  context = summarize_context()
44
 
45
+ # 6️⃣ Метрики и дашборд
46
  response_time = round(time.time() - start, 2)
47
  dashboard.log_request(model_id, prefs["category"], response_time)
48
 
49
+ # 7️⃣ Формирование результата
50
  summary = (
51
  f"🧠 Модель: `{model_id}`\n"
52
  f"🧩 Тип запроса: {prefs['category']}\n"
 
62
  return f"❌ Ошибка: {str(e)}"
63
 
64
 
 
65
  def show_dashboard():
66
  metrics_text, df = dashboard.dashboard_ui()
67
  return metrics_text, df
68
 
69
 
70
+ # === Интерфейс ===
71
+ with gr.Blocks(title="Eroha AgentAPI v5.0 — Auto Model Switch", theme="soft") as app:
72
  gr.Markdown("# 🤖 Eroha AgentAPI v5.0 — Guru Edition")
73
+ gr.Markdown("**Автоматический интеллект + самообучение + аналитика 🧠**")
74
 
75
  with gr.Tab("💬 Agent Chat"):
76
  user_input = gr.Textbox(
77
  label="Введите запрос",
78
+ placeholder="Например: Объясни квантовую запутанность или напиши стих...",
79
  )
80
  output_box = gr.Textbox(label="Ответ", lines=15)
81
  submit_btn = gr.Button("🚀 Отправить")
 
87
  refresh = gr.Button("🔄 Обновить")
88
  refresh.click(show_dashboard, outputs=[metrics, log_table])
89
 
 
90
  app.launch(server_name="0.0.0.0", server_port=7860)
91
 
92
+