RAG local diretamente sobre jogos em tela cheia
Parece que ninguém se surpreende mais com mais um wrapper sobre LLM, não é?
🎮 O projeto GameWikiTooltip tem o seguinte fluxo de usuário: você joga Elden Ring ou Helldivers 2, pressiona Ctrl+Q, e uma sobreposição transparente aparece sobre o jogo. Dentro dela, um navegador com a wiki ou um chatbot que responde perguntas sobre builds e mecânicas, baseando-se em uma base de guias do YouTube parseados.
Vale a pena olhar o código-fonte não só pelos recursos gamer, mas também pelas soluções arquiteturais:
▪️ Pipeline de busca sensato. Não é apenas um prompt cego para o LLM. Foi implementada busca híbrida: FAISS para semântica +
bm25s (implementação rápida em Rust) para correspondência lexical precisa. Os resultados são mesclados via Reciprocal Rank Fusion (RRF), e por cima há um Intent Reranker personalizado para distinguir consultas sobre mecânicas de pedidos de sugestão de build.▪️ Hooks profundos do Win32. Em jogos em tela cheia, os atalhos padrão das bibliotecas falham devido à interceptação de entrada pelo jogo (DirectInput/RawInput). Aqui, é implementada uma interceptação rígida de atalhos globais via
ctypes (RegisterHotKey) e filtragem de mensagens nativas do Windows diretamente no Event Loop do Qt.▪️ Integração PyQt6 e asyncio. A eterna dor dos desenvolvedores desktop: como conciliar o Event Loop do Qt com a assincronicidade do Python para que a UI não congele durante requisições de rede ao LLM. Aqui, isso é elegantemente resolvido com qasync.
▪️ Reconhecimento de voz offline. Para não digitar durante a ação, foi integrado o
vosk local, que escuta o microfone em uma thread separada e envia o texto para o campo de entrada.Um plus extra pela arquitetura: o parsing de guias do YouTube, chunking e embeddings são feitos em etapa offline, e em tempo de execução o aplicativo apenas executa busca leve sobre vetores locais e envia o contexto para o Gemini Flash 2.5 Lite para a geração final da resposta.
Mas se você não se interessa pelo código-fonte, pode ser útil nos jogos para o propósito direto 😏
#opensource_legal
Комментарии
0Комментариев пока нет.
Войдите, чтобы участвовать в обсуждении.