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