Proje Özeti
İngilizce dünyasında Elicit ve Consensus.app gibi araştırmacılara kaynak-temelli özet üreten LLM tabanlı asistanlar var. Türkçe için eşdeğeri yoktu. TürkResearcher bu açığı kapatmak için geliştirdiğim açık kaynak (MIT) bir multi-agent LLM ajanıdır: kullanıcı Türkçe bir araştırma sorusu sorar, sistem 740 binlik bir Türkçe akademik korpus üzerinde delil toplar ve gerçek YÖK PDF'lerine bağlanan IEEE atıflı Türkçe akademik bir özet üretir.
Proje, İstanbul Medipol Üniversitesi'nde aldığım Large Language Models dersinin final projesidir (Track 1 — Novel Idea).
Mimari
5 ajanlı LangGraph state machine. Critic ajanı kapsam yetersizse Retriever'a
geri döner; iki tur sonra hâlâ yetersizse LiveSearch (OpenAlex + Semantic Scholar +
DergiPark live) devreye girer.
Veri
İki kaynaktan birleşik Türkçe akademik korpus:
| Kaynak | Kayıt | Toplama yöntemi |
|---|---|---|
| YÖK Ulusal Tez Merkezi | 633.998 | Hugging Face Hub (CC-BY-4.0) → kalite filtresi |
| DergiPark dergi makaleleri | 106.641 | OAI-PMH harvest (kendi yazdığım resumable scraper) |
| Toplam | 740.639 | Tek Chroma collection, cosine, mpnet-base-v2 (768-dim) |
Index Colab T4 GPU üzerinde inşa edildi ve açık kaynak olarak Hugging Face Hub'a yüklendi (hakansabunis/tr-academic-research-agent-index, 16 GB).
Değerlendirme
30 soruluk Türkçe benchmark, 10 farklı konu kategorisi (sağlık, eğitim, mühendislik, hukuk, bilgisayar, ekonomi, vb.). LLM-as-judge ile dört metrik:
- Citation accuracy — atıflar gerçekten iddiayı destekliyor mu?
- Faithfulness — yanıt kaynaklara ne kadar grounded?
- Coverage — alt soruların kaçı kapsanmış?
- Holistic (1-5) — genel akademik kalite
İki konfigürasyonu karşılaştırdım: 633K tez-yalnız ve 740K + DergiPark:
| Metrik | 633K | 740K | Δ |
|---|---|---|---|
| Citation accuracy | 0.60 | 0.51 | −0.10 |
| Faithfulness | 0.59 | 0.49 | −0.10 |
| Coverage | 0.49 | 0.47 | −0.03 |
| Holistic | 2.63 | 2.40 | −0.23 |
| #Citations | 30.1 | 32.8 | +2.7 |
Sürpriz Bulgu — "Corpus Expansion Paradox"
Naif corpus genişletme her zaman daha iyi metrik getirmiyor: kapsamı zayıf kategorilerde (CS, business) iyileşme, kapsamı zaten güçlü kategorilerde (sağlık, mühendislik, hukuk) gerileme. Üç sebep belirledim:
- Abstract uzunluk dağılım kayması — tezler ~1600 char, dergi makaleleri ~500 char; yazarın ifade groundlama alanı azaldı.
- Citation enflasyonu — yazar +2.7 daha çok atıf üretiyor; her ek atıf zayıf grounded.
- Source-mixing — tezler geniş-tutarlı, makaleler dar-ampirik. Yazar prompt'u bunu ayırt etmiyor.
Bu, basit bir "biz yaptık çalıştı" sonucu değil — gerçek bir bilimsel gözlem.
Teknik Yığın
- Dil: Python 3.13
- Orchestration: LangChain + LangGraph (5+1 ajan, conditional routing)
- Vector store: ChromaDB (cosine, 768-dim)
- Embedder: sentence-transformers/paraphrase-multilingual-mpnet-base-v2
- LLM: DeepSeek-Chat (OpenAI uyumlu API)
- Live API'ler: OpenAlex, Semantic Scholar, DergiPark OAI-PMH
- Eval: 30 soru × 4 metrik (LLM-as-judge), per-category breakdown
- Reproducibility: tüm kod GitHub'da, 16 GB index Hugging Face'de
Sonraki Adımlar (Future Work)
3 aşamalı yol haritası mevcut veriden Türkçe-spesifik bir akademik LLM eğitmek için yeterli:
- Custom embedder — SimCSE ile Türkçe akademik dile özel fine-tune (retrieval %15-25 artış beklenir)
- SFT modeli — synthetic 100-200K Q&A üret + Türkçe 7B base modeline QLoRA (TürkResearcher-7B-instruct)
- DPO hizalama — eval judgment'larından preference pair'ler ile