Spaces:
Running
Running
import gradio as gr | |
from transformers import AutoTokenizer, Gemma3ForConditionalGeneration | |
from deep_translator import GoogleTranslator | |
import torch | |
# بارگذاری توکنایزر و مدل | |
tokenizer = AutoTokenizer.from_pretrained("google/gemma-3-4b-it") | |
model = Gemma3ForConditionalGeneration.from_pretrained("google/gemma-3-4b-it", torch_dtype=torch.bfloat16) | |
model.eval() | |
def generate_topics(field, major, keywords, audience, level): | |
prompt = f"""Suggest 3 academic thesis topics based on the following information: | |
Field: {field} | |
Specialization: {major} | |
Keywords: {keywords} | |
Target audience: {audience} | |
Level: {level} | |
""" | |
inputs = tokenizer(prompt, return_tensors="pt") | |
with torch.no_grad(): | |
outputs = model.generate(**inputs, max_new_tokens=256) | |
english_output = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
translated_output = GoogleTranslator(source='en', target='fa').translate(english_output) | |
final_output = translated_output.strip() + "\n\n📢 برای مشاوره و راهنمایی تخصصی با گروه مشاوره کاسپین تماس بگیرید:\n02188252497" | |
return final_output | |
iface = gr.Interface( | |
fn=generate_topics, | |
inputs=[ | |
gr.Textbox(label="رشته"), | |
gr.Textbox(label="گرایش"), | |
gr.Textbox(label="کلیدواژهها"), | |
gr.Textbox(label="جامعه هدف"), | |
gr.Dropdown(choices=["کارشناسی ارشد", "دکتری"], label="مقطع") | |
], | |
outputs="text", | |
title="🎓 پیشنهادگر موضوع پایاننامه کاسپین" | |
) | |
iface.launch() | |