import streamlit as st import requests import json # Sayfa Konfigürasyonu st.set_page_config( page_title="LawAgent AI - Hukuk Asistanı", page_icon="⚖️", layout="centered" ) # Stil Ayarları (Daha güvenli ve temiz yapı) st.markdown(""" """, unsafe_allow_html=True) st.title("⚖️ LawAgent AI") st.subheader("TÜBİTAK 2209/A Akıllı Hukuk Asistanı") # Yan Panel (Ayarlar) with st.sidebar: st.header("⚙️ Ayarlar") k_value = st.slider("Getirilecek Madde Sayısı (k)", min_value=1, max_value=15, value=7) st.divider() st.info("Bu sistem Türk Borçlar (TBK), Ticaret (TTK) ve Tüketici (TKHK) Hukuku üzerine uzmanlaşmıştır.") # Ana Ekran - Sorgu Girişi query = st.text_area("Hukuki sorunuzu yazınız:", placeholder="Örn: Cayma hakkı süresi kaç gündür?", height=120) if st.button("Hukuki Analiz Yap"): if not query.strip(): st.warning("⚠️ Lütfen hukuki bir soru giriniz.") else: with st.spinner("🔍 Hukuki maddeler taranıyor ve yanıt üretiliyor..."): try: # Backend API'ye istek (127.0.0.1 bazen localhost'tan daha stabil çalışır) response = requests.post( "http://127.0.0.1:8000/ask", json={"query": query, "k": k_value}, timeout=45 ) if response.status_code == 200: data = response.json() # 1. Hukuki Değerlendirme st.markdown("### 📝 Hukuki Değerlendirme") st.info(data["answer"]) # İşlem Detayları st.caption(f"⏱️ İşlem Süresi: {data.get('sure_ms', 0)} ms | 🤖 Model: Llama-3.3-70b") # 2. Dayanak Maddeler if data.get("sources"): st.markdown("### 📚 Dayanak Maddeler") for src in data["sources"]: # HTML formatında şık kutucuklar st.markdown(f"""