Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,54 +1,37 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
import torch
|
| 3 |
-
import torch.nn as nn
|
| 4 |
-
from torch.nn import functional as F
|
| 5 |
import time
|
| 6 |
|
| 7 |
-
#
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
|
| 14 |
-
#
|
| 15 |
-
class AxisBrain(nn.Module):
|
| 16 |
-
def __init__(self):
|
| 17 |
-
super().__init__()
|
| 18 |
-
self.token_embedding_table = nn.Embedding(vocab_size, n_embd)
|
| 19 |
-
self.blocks = nn.Sequential(*[nn.Linear(n_embd, n_embd) for _ in range(n_layer)])
|
| 20 |
-
self.lm_head = nn.Linear(n_embd, vocab_size)
|
| 21 |
-
|
| 22 |
-
def forward(self, idx):
|
| 23 |
-
x = self.token_embedding_table(idx)
|
| 24 |
-
x = self.blocks(x)
|
| 25 |
-
logits = self.lm_head(x)
|
| 26 |
-
return logits
|
| 27 |
-
|
| 28 |
-
# Создаем экземпляр модели "мозга"
|
| 29 |
-
model = AxisBrain()
|
| 30 |
-
|
| 31 |
-
# --- ЛОГИКА ИНТЕРФЕЙСА ---
|
| 32 |
def axis_response(message, history, progress=gr.Progress()):
|
| 33 |
-
|
|
|
|
| 34 |
time.sleep(0.5)
|
|
|
|
|
|
|
|
|
|
| 35 |
|
| 36 |
-
|
| 37 |
-
progress(0.5, desc="[50%] Прогон тензоров через слои Transformer...")
|
| 38 |
-
time.sleep(0.8)
|
| 39 |
-
|
| 40 |
-
progress(0.9, desc="[90%] Генерация ответа...")
|
| 41 |
-
|
| 42 |
-
if message.lower() == "/status":
|
| 43 |
-
return "[System] Архитектура Transformer загружена. Параметры: n_layer=4, n_head=4."
|
| 44 |
-
|
| 45 |
-
return f"Project Axis принял запрос. Архитектура готова к обучению. Входные данные: '{message}'"
|
| 46 |
|
| 47 |
-
#
|
| 48 |
demo = gr.ChatInterface(
|
| 49 |
fn=axis_response,
|
| 50 |
-
title="Project Axis —
|
| 51 |
-
description="
|
|
|
|
| 52 |
)
|
| 53 |
|
| 54 |
if __name__ == "__main__":
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
import torch
|
|
|
|
|
|
|
| 3 |
import time
|
| 4 |
|
| 5 |
+
# Кастомный CSS для создания градиента качества в тексте.
|
| 6 |
+
# Мы применяем градиент только к markdown-тексту в описании.
|
| 7 |
+
# linear-gradient(135deg, #FF00CC 0%, #9932CC 40%, #0000FF 70%, #00FFFF 100%) - это цвета как на твоем изображении.
|
| 8 |
+
css = """
|
| 9 |
+
.gr-markdown {
|
| 10 |
+
background: linear-gradient(135deg, #FF00CC 0%, #9932CC 40%, #0000FF 70%, #00FFFF 100%);
|
| 11 |
+
-webkit-background-clip: text;
|
| 12 |
+
-webkit-text-fill-color: transparent;
|
| 13 |
+
font-weight: bold;
|
| 14 |
+
font-size: 1.2em;
|
| 15 |
+
}
|
| 16 |
+
"""
|
| 17 |
|
| 18 |
+
# Временная логика (заглушка)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
def axis_response(message, history, progress=gr.Progress()):
|
| 20 |
+
# Прогресс-бар для атмосферы
|
| 21 |
+
progress(0.0, desc="[0%] Проверка качества...")
|
| 22 |
time.sleep(0.5)
|
| 23 |
+
progress(0.5, desc="[50%] Анализ данных...")
|
| 24 |
+
time.sleep(0.5)
|
| 25 |
+
progress(1.0, desc="[100%] Анализ завершен.")
|
| 26 |
|
| 27 |
+
return f"Axis Terminal: '{message}'. Мы подключили градиент качества в описание чата. Жду твои 'мозги' для ИИ."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
|
| 29 |
+
# Создаем интерфейс с кастомным CSS и обновленным описанием
|
| 30 |
demo = gr.ChatInterface(
|
| 31 |
fn=axis_response,
|
| 32 |
+
title="Project Axis — Терминал Качества",
|
| 33 |
+
description="Интерфейс для взаимодействия с прототипом Project Axis. Этот градиент символизирует **качество**.",
|
| 34 |
+
css=css # Подключаем кастомный CSS
|
| 35 |
)
|
| 36 |
|
| 37 |
if __name__ == "__main__":
|