03
Duas fontes de posts
Agora ele reúne candidatos de dois lugares, ao mesmo tempo. Posts de contas que você segue (“in-network”, servidos pelo Thunder) e posts de gente que você não segue mas que pode te interessar (“out-of-network”, encontrados pelo Phoenix).
Dois batedores saem em campo: um vasculha o que o seu círculo de confiança postou, o outro varre o mundo inteiro atrás de coisas que tenham a sua cara.
Por dentro: O Thunder é um armazenamento em memória escrito em Rust, alimentado por Kafka, com buscas em menos de um milissegundo. O Phoenix retrieval usa um modelo de duas torres: uma torre transforma você num vetor, outra transforma os posts em vetores, e os mais próximos vencem. thunder/ · phoenix/recsys_retrieval_model.py
Um pouco mais a fundo
O Thunder ingere eventos de criação e remoção de posts pelo Kafka e mantém posts recentes em memória, organizados por usuário. Ele responde “o que as pessoas que sigo acabaram de postar?” em menos de um milissegundo.
O Phoenix retrieval é a mágica do feed “For You”: ele consegue mostrar posts de gente que você nunca ouviu falar. A torre do usuário codifica seu gosto, a torre dos candidatos codifica cada post, e uma busca por similaridade escolhe os melhores.
Ver no GitHub →Feito por Henrique Martins