|
from huggingface_hub import InferenceClient |
|
import gradio as gr |
|
|
|
client = InferenceClient("HooshvareLab/gpt2-fa") |
|
|
|
def generate_report_farsi(prompt, max_tokens, temperature, top_p): |
|
formatted_prompt = f"""بر اساس اطلاعات زیر یک گزارش رسمی عملیات نظامی بنویس. گزارش باید با قالب رسمی و سازمانیافته باشد: |
|
|
|
اطلاعات عملیات: |
|
{prompt} |
|
|
|
🟩 گزارش رسمی عملیات نظامی: |
|
🕔 زمان عملیات: |
|
📍 موقعیت: |
|
🚶♂️ نیروهای مشارکتکننده: |
|
🎯 هدف عملیات: |
|
📋 شرح اقدامات: |
|
🎖️ نتایج و دستاوردها: |
|
⚠️ تلفات و خسارات: |
|
🔚 نتیجهگیری: |
|
""" |
|
output = client.text_generation( |
|
prompt=formatted_prompt, |
|
max_new_tokens=max_tokens, |
|
temperature=temperature, |
|
top_p=top_p, |
|
do_sample=True, |
|
repetition_penalty=1.1 |
|
) |
|
return output |
|
|
|
demo = gr.Interface( |
|
fn=generate_report_farsi, |
|
inputs=[ |
|
gr.Textbox(label="اطلاعات عملیات نظامی", lines=10, placeholder="مثلاً: در ساعت ۵ صبح، گردان الف از محور غربی وارد منطقه شد..."), |
|
gr.Slider(1, 512, value=300, label="حداکثر توکن خروجی"), |
|
gr.Slider(0.1, 2.0, value=0.9, step=0.1, label="دمای خلاقیت (temperature)"), |
|
gr.Slider(0.1, 1.0, value=0.9, step=0.05, label="Top-p"), |
|
], |
|
outputs=gr.Textbox(label="📄 گزارش رسمی تولید شده"), |
|
title="گزارشساز فارسی عملیات نظامی", |
|
description="اطلاعات عملیات را وارد کن تا گزارش ساختاریافته فارسی تولید شود." |
|
) |
|
|
|
if __name__ == "__main__": |
|
demo.launch() |
|
|