import gradio as gr from transformers import AutoTokenizer, AutoModelForCausalLM # بارگذاری مدل فارسی model_name = "HooshvareLab/gpt2-fa" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) chat_history = [] # تابع پاسخ‌دهی def student_bot(question): chat_history.append(f"پرسش: {question}") prompt = """پرسش: زمان انتخاب واحد چه زمانی است؟ پاسخ: معمولا در پایان هر ترم تحصیلی، یعنی شهریور و بهمن انجام می‌شود. پرسش: زمان حذف و اضافه کی هست؟ پاسخ: حدود یک هفته بعد از شروع ترم تحصیلی است. """ + "\n".join(chat_history[-3:]) + "\nپاسخ:" inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate( **inputs, max_new_tokens=60, pad_token_id=tokenizer.eos_token_id ) answer = tokenizer.decode(outputs[0], skip_special_tokens=True) return answer.split("پاسخ:")[-1].strip() # رابط Gradio gr.Interface( fn=student_bot, inputs=gr.Textbox(label="سوال شما درباره دانشگاه چیست؟"), outputs=gr.Textbox(label="پاسخ"), title="🎓 ایجنت راهنمای دانشجویان", description="پاسخ به سوالات با کمک مدل زبانی فارسی FarsiGPT" ).launch()