Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import random | |
| from transformers import pipeline | |
| # Инициализация модели для текстовой генерации | |
| generator = pipeline('text-generation', model='gpt2-medium') | |
| # Функции для генерации никнеймов и аватарок | |
| def generate_username(): | |
| prefixes = ['gay_', 'ebat_', 'ded_', 'gandon_', 'top_'] | |
| suffixes = ['penis', 'ebal', 'gandon', 'gomo', 'top', 'bot', 'sosi'] | |
| return f"{random.choice(prefixes)}{random.choice(suffixes)}" | |
| def generate_anime_avatar(): | |
| return "https://picsum.photos/seed/anime/200/200" | |
| # Функция для генерации ответа | |
| def generate_response(text): | |
| result = generator( | |
| text, | |
| max_length=100, | |
| num_return_sequences=1, | |
| temperature=0.7 | |
| ) | |
| return result[0]['generated_text'] | |
| # Хранилище постов | |
| posts = [] | |
| # Функция для добавления поста | |
| def add_post(text, image, username, avatar): | |
| new_post = { | |
| "text": text, | |
| "image": image, | |
| "username": username, | |
| "avatar": avatar, | |
| "responses": [] | |
| } | |
| posts.append(new_post) | |
| return "", None, update_feed() | |
| # Функция для обновления ленты | |
| def update_feed(): | |
| feed_html = "<div class='feed'>" | |
| for post in reversed(posts): # Показывать последние посты сверху | |
| feed_html += f""" | |
| <div class='post'> | |
| <div class='post-header'> | |
| <img src='{post['avatar']}' class='avatar' /> | |
| <div class='post-info'> | |
| <div class='username'>{post['username']}</div> | |
| </div> | |
| </div> | |
| <div class='post-content'>{post['text']}</div> | |
| <div class='post-image'><img src='{post['image']}' style='max-width: 100%; border-radius: 8px;'/></div> | |
| <div class='responses'> | |
| {chr(10).join(f'<div class="response">{r}</div>' for r in post['responses'])} | |
| </div> | |
| </div> | |
| """ | |
| feed_html += "</div>" | |
| return feed_html | |
| # Основной интерфейс | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# 0qwpif Talk") | |
| # Таб "Главная" | |
| with gr.Tab("Главная"): | |
| with gr.Row(): | |
| with gr.Column(): | |
| post_input = gr.Textbox(label="Напишите пост", placeholder="Что происходит?") | |
| post_image = gr.Image(label="Изображение", interactive=True, type="filepath") | |
| username_input = gr.Textbox(label="Никнейм", value=generate_username) | |
| avatar_input = gr.Image(label="Аватарка", interactive=True, type="filepath", value=generate_anime_avatar) | |
| gr.Button("Отправить").click( | |
| add_post, | |
| [post_input, post_image, username_input, avatar_input], | |
| [post_input, post_image, "feed"] | |
| ) | |
| with gr.Column(): | |
| response_output = gr.Textbox(label="Ответы", interactive=False) | |
| generate_btn = gr.Button("Сгенерировать ответ") | |
| generate_btn.click(generate_response, post_input, response_output) | |
| # Лента постов | |
| feed = gr.HTML(value=update_feed) | |
| # Таб "Профиль" | |
| with gr.Tab("Профиль"): | |
| with gr.Row(): | |
| username_profile = gr.Textbox(label="Никнейм", value=generate_username) | |
| avatar_profile = gr.Image(label="Аватарка", interactive=True, type="filepath", value=generate_anime_avatar) | |
| with gr.Row(): | |
| bio_profile = gr.Textbox(label="О себе", lines=4) | |
| gr.Button("Обновить профиль") | |
| demo.launch() |