Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM | |
| # Tải model và tokenizer | |
| model_name = "NlpHUST/gpt2-vietnamese" | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| model = AutoModelForCausalLM.from_pretrained(model_name) | |
| text_generator = pipeline("text-generation", model=model, tokenizer=tokenizer) | |
| # Hàm sinh bio | |
| def generate_bio(prompt, max_length, temperature): | |
| # Prompt cứng để định hướng model | |
| full_prompt = ( | |
| f"Viết một đoạn bio 1-2 câu, ngắn gọn, vui nhộn, dùng trên mạng xã hội.\n" | |
| f"Chủ đề: {prompt.strip()}\nBio:" | |
| ) | |
| outputs = text_generator( | |
| full_prompt, | |
| max_length=max_length, | |
| do_sample=True, | |
| temperature=temperature, | |
| pad_token_id=tokenizer.eos_token_id, | |
| num_return_sequences=1, | |
| top_k=50, | |
| top_p=0.95 | |
| ) | |
| # Xử lý đầu ra, loại bỏ phần prompt ban đầu | |
| generated = outputs[0]["generated_text"] | |
| generated_bio = generated.replace(full_prompt, "").strip() | |
| return generated_bio | |
| # Tạo giao diện | |
| with gr.Blocks(title="AI Viết Bio Thương Hiệu Cá Nhân (Tiếng Việt)") as app: | |
| gr.Markdown("✨ **AI Viết Bio Thương Hiệu Cá Nhân (Tiếng Việt)**") | |
| with gr.Row(): | |
| with gr.Column(): | |
| prompt_input = gr.Textbox(label="🧠 Mô tả bản thân / điểm mạnh", placeholder="VD: Tôi là người chơi cầu lông hài hước") | |
| max_length = gr.Slider(label="✏️ Độ dài tối đa", minimum=20, maximum=300, value=60, step=5) | |
| temperature = gr.Slider(label="🧪 Mức sáng tạo (temperature)", minimum=0.1, maximum=1.0, value=0.8, step=0.1) | |
| submit_btn = gr.Button("Submit") | |
| clear_btn = gr.Button("Clear") | |
| with gr.Column(): | |
| output_box = gr.Textbox(label="📋 Đoạn bio gợi ý", lines=5) | |
| # Xử lý nút | |
| submit_btn.click(fn=generate_bio, inputs=[prompt_input, max_length, temperature], outputs=output_box) | |
| clear_btn.click(fn=lambda: "", inputs=None, outputs=output_box) | |
| app.launch() | |