btroy-gpt / BTroyUI.py
nazmul5836's picture
BTroyUI.py
8f933c1 verified
import gradio as gr
from transformers import GPT2LMHeadModel, GPT2Tokenizer
import torch
from PIL import Image
# মডেল এবং টোকেনাইজার লোড করুন
model_name = "mistralai/Pixtral-12B-Base-2409"
model = GPT2LMHeadModel.from_pretrained(model_name)
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
# BTroy চ্যাটবটের ফাংশন
def btroy_chat(input_text, temperature=1.0, top_p=1.0, frequency_penalty=0.0, input_image=None):
# টেক্সট প্রসেসিং
inputs = tokenizer.encode(input_text, return_tensors='pt')
# ইমেজ প্রসেসিং যদি থাকে
if input_image:
image = Image.open(input_image)
# এখানে আপনি ইমেজ প্রসেসিং কোড যোগ করতে পারেন (যেমন, ইমেজ থেকে ক্যাপশন জেনারেট করা)
# মডেল আউটপুট
outputs = model.generate(
inputs,
max_length=200,
temperature=temperature,
top_p=top_p,
frequency_penalty=frequency_penalty
)
# আউটপুট টেক্সট ডিকোড করুন
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
return response
# Gradio ইন্টারফেস তৈরি
iface = gr.Interface(
fn=btroy_chat,
inputs=[
gr.Textbox(label="আপনার প্রশ্ন দিন", placeholder="আপনার প্রশ্ন এখানে টাইপ করুন..."),
gr.Slider(minimum=0, maximum=2, default=1.0, label="Temperature"),
gr.Slider(minimum=0, maximum=1, default=1.0, label="Top-p"),
gr.Slider(minimum=0, maximum=2, default=0.0, label="Frequency Penalty"),
gr.Image(label="আপনার ইমেজ দিন", type="pil", optional=True)
],
outputs="text",
title="BTroy AI চ্যাটবট",
description="BTroy চ্যাটবট ব্যবহার করুন আপনার যেকোনো প্রশ্নের উত্তর পেতে। এটি মাল্টি-মোডাল ইনপুট সমর্থন করে (যেমন ইমেজ)।",
theme="huggingface",
allow_flagging="never"
)
# ইন্টারফেস রান করুন
iface.launch()