Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,11 +1,14 @@
|
|
| 1 |
"""
|
| 2 |
Gradio Space для интерактивного использования модели Code Analyzer
|
| 3 |
Модель анализирует код студента на основе условия задачи
|
|
|
|
| 4 |
"""
|
| 5 |
import gradio as gr
|
| 6 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 7 |
import torch
|
| 8 |
import json
|
|
|
|
|
|
|
| 9 |
|
| 10 |
# Загрузка модели (будет выполнена при первом запуске)
|
| 11 |
MODEL_NAME = "Vilyam888/Code_analyze.1.0"
|
|
@@ -62,13 +65,14 @@ def analyze_code(task, code):
|
|
| 62 |
with torch.no_grad():
|
| 63 |
outputs = model.generate(
|
| 64 |
**inputs,
|
| 65 |
-
max_new_tokens=
|
| 66 |
temperature=0.7,
|
| 67 |
-
top_p=0.
|
| 68 |
top_k=20,
|
| 69 |
repetition_penalty=1.05,
|
| 70 |
do_sample=True,
|
| 71 |
-
pad_token_id=tokenizer.eos_token_id
|
|
|
|
| 72 |
)
|
| 73 |
|
| 74 |
# Декодирование ответа
|
|
@@ -104,6 +108,8 @@ with gr.Blocks(title="Code Analyzer Model") as demo:
|
|
| 104 |
2. Введите код решения студента во второе поле
|
| 105 |
3. Нажмите "Анализировать код"
|
| 106 |
4. Получите детальный анализ в формате JSON
|
|
|
|
|
|
|
| 107 |
""")
|
| 108 |
|
| 109 |
with gr.Row():
|
|
@@ -172,5 +178,10 @@ with gr.Blocks(title="Code Analyzer Model") as demo:
|
|
| 172 |
outputs=[result_output, result_text]
|
| 173 |
)
|
| 174 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 175 |
if __name__ == "__main__":
|
| 176 |
-
demo.launch(theme=gr.themes.Soft())
|
|
|
|
| 1 |
"""
|
| 2 |
Gradio Space для интерактивного использования модели Code Analyzer
|
| 3 |
Модель анализирует код студента на основе условия задачи
|
| 4 |
+
Поддерживает как веб-интерфейс, так и API endpoint
|
| 5 |
"""
|
| 6 |
import gradio as gr
|
| 7 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 8 |
import torch
|
| 9 |
import json
|
| 10 |
+
from pydantic import BaseModel
|
| 11 |
+
from typing import Optional
|
| 12 |
|
| 13 |
# Загрузка модели (будет выполнена при первом запуске)
|
| 14 |
MODEL_NAME = "Vilyam888/Code_analyze.1.0"
|
|
|
|
| 65 |
with torch.no_grad():
|
| 66 |
outputs = model.generate(
|
| 67 |
**inputs,
|
| 68 |
+
max_new_tokens=600, # Оптимизировано для CPU
|
| 69 |
temperature=0.7,
|
| 70 |
+
top_p=0.85,
|
| 71 |
top_k=20,
|
| 72 |
repetition_penalty=1.05,
|
| 73 |
do_sample=True,
|
| 74 |
+
pad_token_id=tokenizer.eos_token_id,
|
| 75 |
+
eos_token_id=tokenizer.eos_token_id
|
| 76 |
)
|
| 77 |
|
| 78 |
# Декодирование ответа
|
|
|
|
| 108 |
2. Введите код решения студента во второе поле
|
| 109 |
3. Нажмите "Анализировать код"
|
| 110 |
4. Получите детальный анализ в формате JSON
|
| 111 |
+
|
| 112 |
+
**API Endpoint:** `/api/predict` - используйте для интеграции в другие проекты
|
| 113 |
""")
|
| 114 |
|
| 115 |
with gr.Row():
|
|
|
|
| 178 |
outputs=[result_output, result_text]
|
| 179 |
)
|
| 180 |
|
| 181 |
+
# Gradio автоматически создает API endpoint на /api/predict
|
| 182 |
+
# Для использования из других проектов:
|
| 183 |
+
# POST https://YOUR_SPACE_URL.hf.space/api/predict
|
| 184 |
+
# Body: {"data": ["task", "code"]}
|
| 185 |
+
|
| 186 |
if __name__ == "__main__":
|
| 187 |
+
demo.launch(theme=gr.themes.Soft(), server_name="0.0.0.0")
|