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)