Dzsysop commited on
Commit
55d1e22
·
1 Parent(s): 8a6ff9d

debug app.py about available models

Browse files
Files changed (2) hide show
  1. app.py +53 -17
  2. requirements.txt +2 -1
app.py CHANGED
@@ -1,24 +1,60 @@
1
- # app.py
2
  import gradio as gr
3
- from huggingface_hub import InferenceClient
4
  import os
5
 
6
- client = InferenceClient(token=os.environ.get("HF_TOKEN"))
 
 
 
7
 
8
- def predict(prompt):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  try:
10
- response = client.text_generation(
11
- prompt=prompt,
12
- model="microsoft/phi-2",
13
- max_new_tokens=100
14
  )
15
- return response
 
 
16
  except:
17
- return "Извините, сервис временно недоступен"
18
-
19
- gr.Interface(
20
- fn=predict,
21
- inputs=gr.Textbox(label="Вопрос к NPC"),
22
- outputs=gr.Textbox(label="Ответ"),
23
- title="AI для игры"
24
- ).launch()
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ import requests
3
  import os
4
 
5
+ # Функция диагностики
6
+ def diagnose():
7
+ token = os.environ.get("HF_TOKEN", "")
8
+ lines = ["🔍 Диагностика HF API", "="*40]
9
 
10
+ # Проверка токена
11
+ lines.append(f"Токен: {'✅ Есть' if token else '❌ Нет'}")
12
+
13
+ # Проверка моделей
14
+ models = ["gpt2", "microsoft/phi-2"]
15
+ for model in models:
16
+ try:
17
+ headers = {"Authorization": f"Bearer {token}"} if token else {}
18
+ response = requests.post(
19
+ f"https://api-inference.huggingface.co/models/{model}",
20
+ headers=headers,
21
+ json={"inputs": "test", "parameters": {"max_length": 1}},
22
+ timeout=10
23
+ )
24
+ status = f"{model}: {'✅' if response.status_code == 200 else '❌ ' + str(response.status_code)}"
25
+ except:
26
+ status = f"{model}: ❌ Ошибка"
27
+ lines.append(status)
28
+
29
+ return "\n".join(lines)
30
+
31
+ # Функция генерации
32
+ def generate(prompt):
33
  try:
34
+ response = requests.post(
35
+ "https://api-inference.huggingface.co/models/gpt2",
36
+ json={"inputs": prompt, "parameters": {"max_length": 100}},
37
+ timeout=30
38
  )
39
+ if response.status_code == 200:
40
+ return response.json()[0]['generated_text']
41
+ return f"Ошибка {response.status_code}"
42
  except:
43
+ return "Ошибка соединения"
44
+
45
+ # Интерфейс
46
+ with gr.Blocks() as demo:
47
+ gr.Markdown("# ИИ для игры")
48
+
49
+ with gr.Tab("🤖 Генерация"):
50
+ prompt = gr.Textbox(label="Промпт")
51
+ generate_btn = gr.Button("Сгенерировать")
52
+ output = gr.Textbox(label="Ответ")
53
+ generate_btn.click(generate, prompt, output)
54
+
55
+ with gr.Tab("🩺 Диагностика"):
56
+ diagnose_btn = gr.Button("Запустить диагностику")
57
+ diagnose_output = gr.Textbox(label="Результат", lines=10)
58
+ diagnose_btn.click(diagnose, outputs=diagnose_output)
59
+
60
+ demo.launch()
requirements.txt CHANGED
@@ -1,3 +1,4 @@
1
- gradio
 
2
  huggingface-hub
3
  transformers
 
1
+ gradio>=4.0
2
+ requests>=2.28
3
  huggingface-hub
4
  transformers