File size: 2,014 Bytes
9cf6111 ad1606d 4f5b2da ad1606d 4f5b2da 5259f50 ad1606d 56c42d2 ad1606d 56c42d2 ad1606d 56c42d2 ad1606d 56c42d2 ad1606d fc0c78d ad1606d 44df078 ad1606d 44df078 4f5b2da |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
import gradio as gr
# MiniMax modeli yükleniyor
chat = gr.load("models/MiniMaxAI/MiniMax-M1-80k", provider="novita")
def onay_kontrol(checked):
if checked:
return gr.update(visible=False), gr.update(visible=True)
else:
raise gr.Error("Devam etmek için onay kutusunu işaretlemen gerekiyor Patron!")
def mesaj_ekle(mesaj, gecmis, dosya):
if dosya is not None:
try:
# Dosya içeriğini UTF-8 olarak oku
icerik = dosya.read().decode("utf-8")
mesaj += f"\n\n📎 Dosya içeriği:\n{icerik}"
except Exception as e:
mesaj += f"\n\n📎 Dosya okunamadı: {str(e)}"
gecmis.append([mesaj, None])
return "", gecmis
def yanitla(gecmis):
return chat(history=gecmis)
with gr.Blocks(theme=gr.themes.Soft(primary_hue="purple")) as app:
# Ön sözleşme / onay formu
with gr.Group(visible=True) as giris_ekrani:
gr.Markdown("""
# 🤖 AlpDroid'e Hoş Geldin!
Bu yapay zekâ tamamen deneysel ve eğitseldir.
✅ Verdiği yanıtlar kesin bilgi değildir.
✅ Tıbbi, hukuki, finansal tavsiye veremez.
✅ Sorumluluk tamamen kullanıcıya aittir.
Devam etmek için kutucuğu işaretle.
""")
onay = gr.Checkbox(label="📌 Okudum, Onaylıyorum")
basla = gr.Button("🚀 Sohbete Başla")
# Chat ekranı
with gr.Group(visible=False) as chat_ekrani:
chatbot = gr.Chatbot(label="AlpDroid", show_label=False)
msg = gr.Textbox(placeholder="Mesajını yaz ve Gönder'e bas...", scale=4)
dosya = gr.File(label="📎 Dosya yükle (TXT, CSV, JSON)", file_types=[".txt", ".csv", ".json"])
gonder = gr.Button("Gönder")
state = gr.State([])
gonder.click(mesaj_ekle, inputs=[msg, state, dosya], outputs=[msg, state])
gonder.click(yanitla, inputs=[state], outputs=[chatbot])
basla.click(fn=onay_kontrol, inputs=[onay], outputs=[giris_ekrani, chat_ekrani])
app.launch() |