Tam Ekran Oyunların Üzerinde Yerel RAG
Görünüşe göre, LLM üzerine bir başka sarmalayıcıyla artık kimseyi şaşırtamazsınız?
🎮 GameWikiTooltip projesi şu kullanıcı akışına sahip: Elden Ring veya Helldivers 2 oynuyorsunuz, Ctrl+Q tuşuna basıyorsunuz, oyunun üzerinde şeffaf bir katman beliriyor. İçinde bir wiki tarayıcısı veya yapılar ve mekanikler hakkında soruları yanıtlayan, ayrıştırılmış YouTube rehberlerine dayanan bir sohbet botu var.
Kaynak kodlarına sadece oyun özellikleri için değil, aynı zamanda mimari çözümler için de bakmaya değer:
▪️ Makul bir arama hattı. LLM'ye kör bir komut istemi değil. Hibrit arama uygulanmış: anlamsal arama için FAISS + kesin sözcüksel eşleme için
bm25s (Rust'ta hızlı uygulama). Sonuçlar Reciprocal Rank Fusion (RRF) ile birleştiriliyor ve üzerine mekanik sorgularını yapı önerilerinden ayırmak için özel bir Intent Reranker eklenmiş.▪️ Derin Win32 kancaları. Tam ekran oyunlarda, standart kütüphane bağlamaları oyunun girişi ele geçirmesi (DirectInput/RawInput) nedeniyle çalışmaz. Burada,
ctypes (RegisterHotKey) aracılığıyla global kısayolların sıkı bir şekilde ele geçirilmesi ve Qt Event Loop'unda doğrudan Windows yerel mesajlarının filtrelenmesi uygulanmış.▪️ PyQt6 ve asyncio entegrasyonu. Masaüstü geliştiricilerinin ebedi sorunu: Qt'nin Event Loop'u ile Python asenkronizasyonu nasıl birleştirilir, böylece LLM'ye ağ istekleri sırasında UI donmaz. Burada bu, qasync ile zarif bir şekilde çözülmüş.
▪️ Çevrimdışı ses tanıma. Savaş sırasında yazmak zorunda kalmamak için, ayrı bir iş parçacığında mikrofonu dinleyen ve metni girişe gönderen yerel bir
vosk eklenmiş.Mimari için ayrıca artı: YouTube rehberlerinin ayrıştırılması, parçalama ve gömme işlemleri çevrimdışı adıma taşınmış; çalışma zamanında uygulama sadece yerel vektörler üzerinde hafif bir arama yapar ve son yanıt üretimi için bağlamı Gemini Flash 2.5 Lite'a gönderir.
Ama kaynak kodları ilginizi çekmiyorsa, oyunlarda doğrudan amacına uygun olarak kullanışlı olabilir 😏
#iyi_açık_kaynak
Yorumlar
0Henüz yorum yok.