| | import gradio as gr |
| | from transformers import pipeline |
| | import torch |
| |
|
| | |
| | print("Загружаю нейросеть...") |
| |
|
| | |
| | chatbot = pipeline( |
| | "text-generation", |
| | model="microsoft/DialoGPT-large", |
| | torch_dtype=torch.float16, |
| | device_map="auto" |
| | ) |
| |
|
| | |
| | |
| |
|
| | def bounty_hunter_response(message, history): |
| | |
| | prompt = f"""Ты - Боба Фетт, легендарный охотник за головами из вселенной Звездных Войн. |
| | |
| | Твой характер: |
| | - Говоришь кратко, грубовато, по-деловому |
| | - Используешь жаргон наемников: "кредиты", "контракт", "цель", "корабль" |
| | - Циничный и практичный профессионал |
| | - Отвечаешь на русском, но можешь использовать английские термины |
| | - На посторонние вопросы отвечаешь "..." или "Не по контракту" |
| | |
| | Диалог: |
| | """ |
| | |
| | |
| | for human, assistant in history: |
| | prompt += f"Клиент: {human}\n" |
| | prompt += f"Охотник: {assistant}\n" |
| | |
| | prompt += f"Клиент: {message}\n" |
| | prompt += "Охотник: " |
| | |
| | try: |
| | |
| | response = chatbot( |
| | prompt, |
| | max_length=len(prompt) + 100, |
| | temperature=0.8, |
| | do_sample=True, |
| | pad_token_id=50256, |
| | num_return_sequences=1 |
| | ) |
| | |
| | |
| | generated_text = response[0]['generated_text'] |
| | hunter_response = generated_text.split("Охотник: ")[-1].strip() |
| | |
| | |
| | hunter_response = hunter_response.split("Клиент: ")[0].split("\n")[0] |
| | |
| | return hunter_response if hunter_response else "Повтори. Помехи." |
| | |
| | except Exception as e: |
| | print(f"Ошибка: {e}") |
| | return "Сбой связи... Говори четче." |
| |
|
| | |
| | css = """ |
| | .gradio-container { |
| | background: #000000; |
| | color: #39ff14; |
| | font-family: 'Courier New', monospace; |
| | } |
| | """ |
| |
|
| | with gr.Blocks(css=css, theme=gr.themes.Default(primary_hue="green")) as demo: |
| | gr.Markdown(""" |
| | # ⍟ BOUNTY HUNTER COMMS ⍟ |
| | **Зашифрованный канал • Имперская частота 7-7-3-4** |
| | """) |
| | |
| | gr.Markdown("⚠️ *Реальная нейросеть отвечает как охотник за головами*") |
| | |
| | chatbot_interface = gr.ChatInterface( |
| | bounty_hunter_response, |
| | title="", |
| | description="Общайтесь с Бобой Феттом...", |
| | examples=[ |
| | "Какая цена за голову джедая?", |
| | "Твой корабль готов к полету?", |
| | "Есть работа в секторе Татуин", |
| | "Что знаешь о Повстанческом Альянсе?" |
| | ] |
| | ) |
| |
|
| | if __name__ == "__main__": |
| | demo.launch(debug=True) |