chatex-ai / app.py
yyasso's picture
Rename main.py to app.py
6b931bc verified
import gradio as gr
from transformers import pipeline
# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”
# 1. ุชุญู…ูŠู„ ูˆุงุนุฏุงุฏ ุงู„ู†ู…ูˆุฐุฌ
# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”
# ู‡ู†ุณุชุฎุฏู… ู†ู…ูˆุฐุฌ "google/flan-t5-base" ูƒู…ุซุงู„ ุฎููŠู ู†ุณุจูŠู‹ุง
# ุชุฃูƒุฏ ุฅู†ูƒ ู…ุซุจุช ู…ูƒุชุจุฉ 'transformers' ูˆ 'torch' ู‚ุจู„ ุงู„ุชุดุบูŠู„
chatbot = pipeline(
task="text2text-generation",
model="google/flan-t5-base",
device=0 # ู„ูˆ ุนู†ุฏูƒ GPU. ู„ูˆ ู…ุด ุนู†ุฏูƒ GPUุŒ ุฎู„ู‘ูŠู‡ -1 ุฃูˆ ุงุญุฐูู‡ ุฎุงู„ุต.
)
# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”
# 2. ุฏุงู„ุฉ ุงู„ุฑุฏ ุนู„ู‰ ุงู„ู…ุณุชุฎุฏู…
# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”
def get_response(user_input):
# ู‡ู†ู…ุฑุฑ ุงู„ู†ุต ู„ู„ู†ู…ูˆุฐุฌ ุนู„ุดุงู† ูŠูˆู„ุฏ ุฑุฏ
result = chatbot(
user_input,
max_length=200, # ุฃู‚ุตู‰ ุทูˆู„ ู„ู„ุฑุฏ
do_sample=True, # ุชูุนูŠู„ ุงู„ุนุดูˆุงุฆูŠุฉ ุจุดูƒู„ ุจุณูŠุท
top_p=0.9, # ู†ุณุจุฉ ุงู„ู€ nucleus sampling
temperature=0.7 # ุชุญูƒู… ููŠ ุงู„ุชู†ูˆุน ุฅูŠู‡ ู‚ุฏ ููŠ ุงู„ุฑุฏูˆุฏ
)
# ุจู†ุฑุฌู‘ุน ู†ุตู‘ ุงู„ุฑุฏ ุงู„ู…ูˆู„ู‘ุฏ
return result[0]["generated_text"]
# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”
# 3. ุฅู†ุดุงุก ูˆุงุฌู‡ุฉ Gradio
# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”
iface = gr.Interface(
fn=get_response,
inputs=gr.Textbox(
lines=2,
placeholder="ุงูƒุชุจ ุณุคุงู„ูƒ ุฃูˆ ุฑุณุงู„ุชูƒ ู‡ู†ุง..."
),
outputs="text",
title="๐Ÿค– ุดุงุช ุจูˆุช AI ุญู‚ูŠู‚ูŠ - FLAN-T5",
description="ุงูƒุชุจ ุฃูŠ ุณุคุงู„ ุฃูˆ ูƒู„ุงู…ุŒ ูˆุงู„ู†ู…ูˆุฐุฌ ู‡ูŠุฑุฏ ุนู„ูŠูƒ ุจุทุฑูŠู‚ุฉ ุฐูƒูŠุฉ. ุจุณ ุงูุชูƒุฑ ุฅู† ุงู„ู†ู…ูˆุฐุฌ ู…ุด ู…ุซุงู„ูŠ 100%ุŒ ูˆู…ู…ูƒู† ูŠุทู„ุน ุฑุฏูˆุฏ ุบุฑูŠุจุฉ ุฃุญูŠุงู†ู‹ุง. ๐Ÿ˜‰"
)
# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”
# 4. ุชุดุบูŠู„ ุงู„ุชุทุจูŠู‚
# โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”
if __name__ == "__main__":
iface.launch(share=False) # ู„ูˆ ุนุงูŠุฒ ุชู†ุดุฑู‡ ุนู„ู‰ ุงู„ู†ุช ุงุณุชุฎุฏู… share=True