Blog'a dön
AI17 görüntüleme

KAP duyurularıyla boğuşmayı bırakıp bir RAG asistanı yazdığımda

Geçen hafta bir arkadaşım bana şunu dedi: "Şirketi beğendim, ama 47 sayfalık faaliyet raporunu kim okuyacak?" Kimse. Kimse okumayacak. En azından baştan sona değil. İşte tam burada bir şey tıkladı kafamda.

Mehmet Anıl·28 Temmuz 2026
KAP duyurularıyla boğuşmayı bırakıp bir RAG asistanı yazdığımda

28 Tem 2026 15_35_42

Problem: Veri var, ama ulaşmak zor

Türkiye'de kamuya açık finansal veri aslında hiç de az değil. KAP'ta binlerce şirketin faaliyet raporu, bilanço, özel durum açıklaması var. Üstelik hepsi ücretsiz.

Ama şu var: bu veriye ulaşmak başlı başına bir iş.

Bir yatırımcı olarak şunu yapmak istiyorsun:

"Bu şirketin gelirleri son 3 yılda nasıl değişti?"
"Yönetim kurulu riskleri nasıl tanımlıyor?"
"Rakiplerine kıyasla borç/özkaynak oranı nerede?"

Bu soruların cevabı raporlarda var. Ama bulmak için ya 47 sayfayı okuyacaksın, ya da Ctrl+F ile tahmin yürüteceksin.

Ben üçüncü bir yol aradım.

28 Tem 2026 15_35_46

Çözüm: Dokümanı aranabilir hale getirmek

Yazdığım şeyin adı RAG — Retrieval-Augmented Generation. Kulağa karmaşık geliyor ama mantığı son derece basit:

Finansal dokümanı al, küçük parçalara böl
Her parçayı matematiksel bir vektöre çevir (embedding)
Kullanıcı soru sorduğunda, soruya en yakın parçaları bul
Bulunan parçaları bir yapay zeka modeline ver, cevap ürettir
Cevabı kaynakla birlikte göster — "bu bilgi raporun 23. sayfasından"

Sonuç: "Bu şirketin en büyük operasyonel riski ne?" diye soruyorsun, sistem 3 saniyede ilgili bölümü buluyor ve sana Türkçe özetliyor. Üstelik nereden aldığını da söylüyor.

Neden "kaynak gösterme" önemli?

Çünkü yapay zeka yalan söyler.

Bunu yumuşatmak için değil, gerçekten söylüyorum: dil modelleri bazen olmayan şeyleri varmış gibi üretir. Finansal veride bu felakettir — "şirketin net kârı %40 arttı" diyorsa ve bu yanlışsa, karar verirsin, para kaybedersin.

O yüzden bu projede en önem verdiğim şey şu: sistem asla kendi kafasından konuşmayacak. Sadece yüklenen dokümanlardaki bilgiyi kullanacak ve her cevabın yanında kaynağını gösterecek. Kaynak yoksa cevap da yok.

Teknik taraf

Projenin mimarisi şöyle:

FastAPI — backend
PostgreSQL + pgvector — doküman parçalarını ve embedding'leri saklamak için
Embedding modeli — metni vektöre çevirmek için
LLM — kaynaklı cevap üretmek için
Next.js — basit chat arayüzü

Docker compose ile hepsi tek komutla ayağa kalkıyor.

Reranking de ekledim — bu, arama sonuçlarını bir kez daha süzerek en isabetli parçaları öne çıkarıyor. Küçük bir ekleme ama cevap kalitesini ciddi artırıyor.

Şu ana kadar öğrendiklerim

Chunking stratejisi her şeyi etkiliyor. Dokümanı nasıl böldüğün, arama kalitesini doğrudan belirliyor. Çok büyük parçalar gürültü getiriyor, çok küçük parçalar bağlamı kaybettiriyor. 500-800 token arası, biraz overlap — şu an için en iyi denge bu.

Finansal metinler zor. Genel metinlere göre çok daha teknik ve yoğun. "FAVÖK" ile "faaliyet karı" arasındaki farkı model bilmek zorunda. Bu yüzden prompt mühendisliği bu projede düşündüğümden çok daha kritik oldu.

Kullanıcı arayüzü basit kalmalı. Karmaşık bir dashboard yapmak cazip geldi, ama erken kestim. Soru sor, cevap al, kaynağa bak. Bu kadar.

Nereye gidecek bu?

Şu an portföy projesi olarak geliştiriyorum. Ama uzun vadede şunu düşünüyorum:

Logo ERP kullanan KOBİ'lerde de aynı problem var — tonlarca veri, ama kimse doğru soruyu sormayı bilmiyor ya da zamanı yok. RAG'ın finansal dokümanlarda işe yaraması, aynı mantığın ERP verisi için de çalışacağını gösteriyor.

Bir araç mı çıkar, bir ürün mü — bilmiyorum henüz. Ama yönü görüyorum.

** Sona gelince**

Bu projeyi yapmadan önce RAG'ı "teorik olarak biliyordum." Şimdi gerçekten biliyorum — farkı büyük.

Eğer sen de finansal veri veya doküman analizi alanında bir şeyler geliştiriyorsan, ya da KAP verisiyle çalışan biri varsa — konuşalım. Geri bildirim almak isterim.

Proje GitHub'a çıkınca burada paylaşacağım.

Mehmet Anıl — Bilgisayar Mühendisi