Spaces:
Sleeping
Sleeping
# ... (Önceki import ve config kısımları aynı) | |
alp_logo = os.path.join(os.path.dirname(__file__), "alp.png") | |
# TÜRKÇE PROMPTLAR | |
DEFAULT_PROMPTS = [{ | |
"category": "📝 Plan Yap", | |
"prompts": [ | |
"İş kurma planı oluştur", | |
"Hedeflerim için yol haritası hazırla", | |
"Mülakat provası için strateji öner" | |
] | |
}, { | |
"category": "✍️ İçerik Üret", | |
"prompts": [ | |
"Teknoloji blogu için makale taslağı oluştur", | |
"Şirket vizyon metni yaz", | |
"Satış e-postası taslağı hazırla" | |
] | |
}] | |
# TÜRKÇE ÖNERİLER | |
DEFAULT_SUGGESTIONS = [{ | |
"label": 'Planlama', | |
"children": [ | |
{"label": "İş Planı", "value": "İş kurma planı oluştur"}, | |
{"label": "Hedef Planı", "value": "Hedeflerim için yol haritası hazırla"}, | |
{"label": "Mülakat Stratejisi", "value": "Mülakat provası için strateji öner"} | |
] | |
}, { | |
"label": 'Yazım', | |
"children": [ | |
{"label": "Teknoloji Makalesi", "value": "Teknoloji blogu için makale taslağı oluştur"}, | |
{"label": "Vizyon Metni", "value": "Şirket vizyon metni yaz"}, | |
{"label": "Satış E-postası", "value": "Satış e-postası taslağı hazırla"} | |
] | |
}] | |
# TÜRKÇE ARAYÜZ KODU | |
with gr.Blocks(css=css, fill_width=True) as demo: | |
state = gr.State({ | |
"conversations_history": {}, | |
"conversations": [], | |
"conversation_id": "", | |
"editing_message_index": -1, | |
}) | |
with ms.Application(), antdx.XProvider( | |
theme=DEFAULT_THEME, locale='tr_TR'), ms.AutoLoading(): | |
# SOL PANEL | |
with antd.Col(md=dict(flex="0 0 260px"), elem_classes="chatbot-conversations"): | |
with antd.Flex(vertical=True, gap="small"): | |
# Logo ve Başlık | |
with antd.Typography.Title(level=1, style={"fontSize": 24, "margin": 0}): | |
with antd.Flex(align="center", gap="small"): | |
antd.Image(alp_logo, width=32, height=32, preview=False) | |
ms.Span("AlpDroid AI") | |
# Yeni Sohbet Butonu | |
with antd.Button("Yeni Sohbet", block=True, icon=antd.Icon("PlusOutlined")) as add_conversation_btn | |
# Sohbet Geçmişi | |
with antdx.Conversations() as conversations: | |
with ms.Slot('menu.items'): | |
antd.Menu.Item("Sil", key="delete", danger=True, icon=antd.Icon("DeleteOutlined")) | |
# SAĞ PANEL | |
with antd.Col(flex=1, style={"height": "100%"}): | |
with antd.Flex(vertical=True, gap="middle"): | |
# Sohbet Kutusu | |
with antdx.Bubble.List(items=DEFAULT_CONVERSATIONS_HISTORY) as chatbot: | |
# Kullanıcı Mesajı | |
with antdx.Bubble.List.Role(role="user", placement="end"): | |
ms.Markdown() | |
with ms.Slot("footer"): | |
antd.Button(icon=antd.Icon("EditOutlined")) | |
antd.Popconfirm("Bu mesajı silmek istiyor musunuz?", | |
ok_button_props={"danger": True}, | |
children=[antd.Button(icon=antd.Icon("DeleteOutlined"))] | |
) | |
# Asistan Mesajı | |
with antdx.Bubble.List.Role(role="assistant", placement="start"): | |
antd.Avatar(alp_logo) | |
ms.Markdown() | |
with ms.Slot("footer"): | |
antd.Button(icon=antd.Icon("SyncOutlined")) | |
antd.Popconfirm("Mesajı yeniden oluştur?", | |
children=[antd.Button(icon=antd.Icon("DeleteOutlined"))] | |
) | |
# Giriş Alanı | |
with antdx.Sender(placeholder="Mesaj yazın veya '/' ile komut seçin"): | |
with antd.Tooltip("Geçmişi Temizle"): | |
antd.Button(icon=antd.Icon("ClearOutlined")) | |
with antdx.Suggestion(items=DEFAULT_SUGGESTIONS): | |
antd.Input.Textarea() | |
# EVENT HANDLERS (Önceki koddaki olay yönetim fonksiyonları aynen kalacak) | |
# ... (Önceki event handler'lar buraya gelecek) | |
if __name__ == "__main__": | |
demo.launch() |