alperall's picture
Update app.py
70323ec verified
raw
history blame
1.95 kB
import gradio as gr
# MiniMax AI modeli yükleniyor
chat = gr.load(
"models/MiniMaxAI/MiniMax-M1-80k",
provider="novita"
)
# Giriş ekranı kontrolü
def start_chat(approved):
if approved:
return gr.update(visible=False), gr.update(visible=True)
else:
raise gr.Error("Başlamak için kutucuğu işaretlemelisin Patron!")
# Gradio uygulaması
with gr.Blocks(theme=gr.themes.Base(primary_hue="purple", dark_mode=True)) as app:
# Giriş sayfası
with gr.Group(visible=True) as intro:
gr.Markdown("""
## 🧠 AlpDroid'e Hoş Geldin!
Bu yapay zekâ tamamen deneysel amaçlıdır.
Tıbbi, hukuki, finansal ya da etik kararlar için **kullanılamaz**.
Kullanım tümüyle senin sorumluluğundadır Patron.
Devam etmek için onay kutusunu işaretle.
""")
approved = gr.Checkbox(label="✅ Okudum, Onaylıyorum")
begin_btn = gr.Button("🚀 Sohbete Başla")
# Chat ekranı
with gr.Group(visible=False) as chat_section:
chatbot = gr.Chatbot(label="🤖 AlpDroid", show_label=False)
msg = gr.Textbox(placeholder="Bir mesaj yaz...", scale=4)
send = gr.Button("Gönder")
# Kullanıcı dosya eklemek isterse diye, altta bir kutu
file = gr.File(label="📎 Ek dosya (isteğe bağlı)", file_types=[".txt", ".csv", ".json", ".md"])
# Chat geçmişi yönetimi
state = gr.State([])
def user_submit(message, history):
history = history + [[message, None]]
return "", history
def model_response(history, file):
return chat(history=history)
send.click(fn=user_submit, inputs=[msg, state], outputs=[msg, state])
send.click(fn=model_response, inputs=[state, file], outputs=[chatbot])
# Girişten sohbete geçiş
begin_btn.click(fn=start_chat, inputs=[approved], outputs=[intro, chat_section])
app.launch()