Statik RAG, “bu hafta ne oldu” sorusunu yanıtlayamaz. Bir Google Search API ile canlı bir web arama adımı eklemek, LLM’inizi güncel, alıntılanabilir kaynaklara dayandırır. İşte serp.cheap kullanan desen.
Mimari
user query
→ SERP API search (top N results) ← live, fresh
→ fetch the result pages
→ chunk + embed on the fly
→ retrieve most relevant chunks
→ LLM answers, citing the source URLs
Adım 1 — güncel kaynakları getirin
import requests
def web_sources(query, n=5, gl="us"):
data = requests.post(
"https://api.serp.cheap/v1/search",
headers={"X-API-Key": "YOUR_KEY"},
json={"q": query, "gl": gl},
timeout=30,
).json()
return [
{"title": r["title"], "url": r["link"], "snippet": r.get("snippet", "")}
for r in data["organic"][:n]
]
Adım 2 — getirin ve parçalayın
Her url’yi getirin, ana metni çıkarın, ~500 token’lık parçalara bölün. (Mevcut yükleyicinizi/bölücünüzü kullanın — örneğin trafilatura + bir metin bölücü.)
Adım 3 — gömün, getirin, üretin
Parçaları gömün (embed), sorgu için en iyi k tanesini getirin ve kaynak URL’leri alıntılama talimatıyla modele iletin. Kaynaklar canlı SERP’ten geldiği için yanıt, yetkili sayfaların şu anda söylediklerini yansıtır.
Ucuz bir SERP API’sinin burada neden önemli olduğu
RAG, her sorguda bir arama dağıtır. Her güncel arama için $0.0006’da (önbelleğe alınmış olanın yarısı), serp.cheap yanıt başına getirme maliyetini ihmal edilebilir düzeyde tutar — ve tekrarlanan özdeş sorgular otomatik olarak önbelleğe takılır.
Yalnızca snippet kullanan hızlı yol
Hafif dayanaklandırma için sayfaları getirmeyi atlayıp modele doğrudan SERP başlıklarını + snippet’lerini verebilirsiniz — tek bir API çağrısı, tarama yok. Daha ucuzdur ve çoğu zaman hızlı gerçeksel yanıtlar için yeterlidir.