Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import pipeline | |
| # Загружаем модель — легкая для ZeroGPU (CPU-friendly) | |
| qa_pipeline = pipeline("text-generation", model="tiiuae/falcon-rw-1b") | |
| # Инструкция боту | |
| system_prompt = ( | |
| "Ты — дружелюбный бот, который отлично знает Университет Иннополис. " | |
| "Отвечай чётко и по делу на вопросы про университет, город Иннополис, обучение и студенческую жизнь." | |
| ) | |
| # Ответная функция | |
| def respond(message, history): | |
| prompt = system_prompt + "\n" | |
| for user_msg, bot_msg in history: | |
| prompt += f"Пользователь: {user_msg}\nБот: {bot_msg}\n" | |
| prompt += f"Пользователь: {message}\nБот:" | |
| result = qa_pipeline( | |
| prompt, | |
| max_new_tokens=200, | |
| do_sample=True, | |
| temperature=0.7, | |
| top_k=50, | |
| top_p=0.95, | |
| pad_token_id=50256, | |
| )[0]["generated_text"] | |
| # Отделяем только ответ | |
| response = result.split("Бот:")[-1].strip().split("Пользователь:")[0].strip() | |
| history.append((message, response)) | |
| return history | |
| # Интерфейс Gradio | |
| demo = gr.ChatInterface( | |
| fn=respond, | |
| title="Innopolis Bot", | |
| theme="soft", | |
| examples=[ | |
| "Когда основан Университет Иннополис?", | |
| "Какие есть направления в бакалавриате?", | |
| "Как подать документы?", | |
| ], | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() | |