Yermek68 commited on
Commit
71c9eb6
·
verified ·
1 Parent(s): c864562

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -25
app.py CHANGED
@@ -3,57 +3,61 @@ import requests
3
  from core.intelligence import update_memory, summarize_context
4
  from core.selfcheck import evaluate_answer, improve_answer
5
  from core.learning import analyze_user_input, adapt_answer
 
6
 
7
- HF_API_URL = "https://api-inference.huggingface.co/models/microsoft/phi-3.5-mini"
8
  HEADERS = {"Authorization": "Bearer hf_your_token"} # можно удалить, если токен не используется
9
 
10
-
11
  def generate_response(user_input):
12
- """Основная логика запроса и самообучения"""
13
  try:
14
- # Анализируем стиль пользователя
15
  prefs = analyze_user_input(user_input)
 
 
16
 
17
- # Отправляем запрос в модель
18
- payload = {"inputs": user_input, "parameters": {"max_new_tokens": 500, "temperature": 0.7}}
19
- response = requests.post(HF_API_URL, headers=HEADERS, json=payload)
20
 
21
  if response.status_code != 200:
22
  return f"⚠️ Ошибка API ({response.status_code}): {response.text}"
23
 
24
- model_output = response.json()
25
- base_output = model_output[0]["generated_text"] if isinstance(model_output, list) else model_output
26
 
27
- # Самоанализ и улучшение
28
  check = evaluate_answer(base_output)
29
- improved_output = improve_answer(base_output)
30
 
31
- # Адаптация под стиль пользователя
32
- adapted_output = adapt_answer(improved_output)
33
 
34
- # Обновляем память
35
- update_memory(user_input, adapted_output)
36
  context = summarize_context()
37
 
38
- analysis_summary = (
39
- f"🧠 Самоанализ ответа: {check['result']}\n"
40
- + ("Причины: " + "; ".join(check["feedback"]) if check["feedback"] else "")
 
 
 
41
  )
42
 
43
- return f"{adapted_output}\n\n{analysis_summary}\n\n{context}"
44
 
45
  except Exception as e:
46
  return f"❌ Ошибка: {str(e)}"
47
 
48
 
49
- # === Интерфейс Gradio ===
50
- with gr.Blocks(title="Eroha AgentAPI v4.2Adaptive Self-Learning") as demo:
51
- gr.Markdown("# 🤖 Eroha AgentAPI v4.2Самообучающийся Интеллект")
52
- gr.Markdown("Агент анализирует, адаптируется и запоминает твой стиль общения 🧠")
53
 
54
- user_input = gr.Textbox(label="Введите вопрос", placeholder="Например: объясни как школьнику, что такое квант")
55
  output_box = gr.Textbox(label="Ответ", lines=15)
56
- submit_btn = gr.Button("🚀 Сгенерировать ответ")
57
 
58
  submit_btn.click(fn=generate_response, inputs=user_input, outputs=output_box)
59
 
 
3
  from core.intelligence import update_memory, summarize_context
4
  from core.selfcheck import evaluate_answer, improve_answer
5
  from core.learning import analyze_user_input, adapt_answer
6
+ from core.model_selector import choose_model
7
 
8
+ # Укажи токен, если хочешь — иначе можно без него
9
  HEADERS = {"Authorization": "Bearer hf_your_token"} # можно удалить, если токен не используется
10
 
 
11
  def generate_response(user_input):
 
12
  try:
13
+ # 1️⃣ Анализ стиля и выбор модели
14
  prefs = analyze_user_input(user_input)
15
+ model_id = choose_model(user_input)
16
+ api_url = f"https://api-inference.huggingface.co/models/{model_id}"
17
 
18
+ # 2️⃣ Запрос к модели
19
+ payload = {"inputs": user_input, "parameters": {"max_new_tokens": 600, "temperature": 0.7}}
20
+ response = requests.post(api_url, headers=HEADERS, json=payload)
21
 
22
  if response.status_code != 200:
23
  return f"⚠️ Ошибка API ({response.status_code}): {response.text}"
24
 
25
+ result = response.json()
26
+ base_output = result[0]["generated_text"] if isinstance(result, list) else result
27
 
28
+ # 3️⃣ Самоанализ и улучшение
29
  check = evaluate_answer(base_output)
30
+ improved = improve_answer(base_output)
31
 
32
+ # 4️⃣ Адаптация под пользователя
33
+ personalized = adapt_answer(improved)
34
 
35
+ # 5️⃣ Обновление памяти
36
+ update_memory(user_input, personalized)
37
  context = summarize_context()
38
 
39
+ # 6️⃣ Формирование вывода
40
+ summary = (
41
+ f"🧠 Модель: `{model_id}`\n"
42
+ f"🧩 Самоанализ: {check['result']}\n"
43
+ f"{'; '.join(check['feedback']) if check['feedback'] else '✅ Всё отлично'}\n\n"
44
+ f"{context}"
45
  )
46
 
47
+ return f"{personalized}\n\n{summary}"
48
 
49
  except Exception as e:
50
  return f"❌ Ошибка: {str(e)}"
51
 
52
 
53
+ # === Интерфейс ===
54
+ with gr.Blocks(title="Eroha AgentAPI v5.0Auto Model Switch") as demo:
55
+ gr.Markdown("# 🤖 Eroha AgentAPI v5.0Auto Model Switch + Self-Learning")
56
+ gr.Markdown("Агент сам выбирает оптимальную модель Hugging Face и адаптирует ответы под твой стиль 🧠")
57
 
58
+ user_input = gr.Textbox(label="Введите запрос", placeholder="Например: объясни квантовую физику или напиши стих...")
59
  output_box = gr.Textbox(label="Ответ", lines=15)
60
+ submit_btn = gr.Button("🚀 Запросить")
61
 
62
  submit_btn.click(fn=generate_response, inputs=user_input, outputs=output_box)
63