Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| # 1. Твоя системна інструкція для Flare | |
| SYSTEM_PROMPT = "Твоє ім'я — Flare. Ти персональний ШІ-помічник. Відповідай українською мовою." | |
| # 2. Дизайн: Синій, Жовтий, Чорний | |
| theme = gr.themes.Soft( | |
| primary_hue="blue", | |
| secondary_hue="yellow", | |
| neutral_hue="slate", | |
| ).set( | |
| body_background_fill="*neutral_950", # Чорний фон | |
| block_background_fill="*neutral_900", # Темні блоки | |
| button_primary_background_fill="#0057B7", # Синій (UA Blue) | |
| button_primary_text_color="white", | |
| block_title_text_color="#FFD700", # Жовтий текст (UA Gold) | |
| input_background_fill="*neutral_800", | |
| ) | |
| css = "footer {visibility: hidden} h1 {color: #FFD700 !important;}" | |
| # Функція для роботи чату (замість gr.load) | |
| def predict(message, history): | |
| # Підключаємо модель через провайдера novita (як у тебе в коді) | |
| client = gr.load("models/moonshotai/Kimi-K2-Thinking", provider="novita") | |
| # Формуємо запит так, щоб модель знала, що вона Flare | |
| full_prompt = f"System: {SYSTEM_PROMPT}\n" | |
| for human, ai in history: | |
| full_prompt += f"User: {human}\nAssistant: {ai}\n" | |
| full_prompt += f"User: {message}\nAssistant:" | |
| return client(full_prompt) | |
| # ТВОЯ СТРУКТУРА КОДУ: | |
| with gr.Blocks(fill_height=True) as demo: | |
| with gr.Sidebar(): | |
| gr.Markdown("# FlareAI") | |
| gr.Markdown("Flare — твій персональний помічник") | |
| # Твоя кнопка | |
| button = gr.LoginButton("Увійти") | |
| gr.Markdown("---") | |
| gr.Markdown("🇺🇦 Український інтерфейс") | |
| # Твій чат (адаптований під Gradio 6) | |
| gr.ChatInterface( | |
| predict, | |
| chatbot=gr.Chatbot(label="Чат Flare", show_label=False, height=600), | |
| textbox=gr.Textbox(placeholder="Запитай Flare про що завгодно...", container=False, scale=7), | |
| ) | |
| if __name__ == "__main__": | |
| # У Gradio 6 theme та css передаються сюди | |
| demo.launch(theme=theme, css=css) |