Tafiditra amin'ny votoaty Overview System Architecture Components Home Mixer Thunder Phoenix Candidate Pipeline How It Works Pipeline Stages Scoring and Ranking Filtering Key Design Decisions Ny fomba fijery Ny algorithm For You feeds dia mahita, manara-maso ary manapaka lahatsoratra avy amin'ny loharanom-baovao roa: Ao amin'ny tambajotra (Thunder): Posts avy amin'ny kaonty manaraka anao Out-of-Network (Phoenix Retrieval): Posts hita avy amin'ny Global Corpus Ireo loharano roa ireo dia tafiditra sy voasoratra miaraka amin'ny fampiasana , modely transformera mifototra amin'ny Grok izay manambara ny fahafahana handray anjara ho an'ny lahatsoratra tsirairay. Phoenix Ny transformers Grok mifototra amin'ny manao ny lehibe rehetra amin'ny fahatakarana ny tantara ny fifandraisana (izay tianao, namaly, niara-niasa, sns) ary mampiasa izany mba hahafantarana izay votoaty manan-danja ho anao. Ny rafitra fanorenana ┌─────────────────────────────────────────────────────────────────────────────────────────────┐ │ FOR YOU FEED REQUEST │ └─────────────────────────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────────────────────────┐ │ HOME MIXER │ │ (Orchestration Layer) │ ├─────────────────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ QUERY HYDRATION │ │ │ │ ┌──────────────────────────┐ ┌──────────────────────────────────────────────┐ │ │ │ │ │ User Action Sequence │ │ User Features │ │ │ │ │ │ (engagement history) │ │ (following list, preferences, etc.) │ │ │ │ │ └──────────────────────────┘ └──────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ CANDIDATE SOURCES │ │ │ │ ┌─────────────────────────────┐ ┌────────────────────────────────┐ │ │ │ │ │ THUNDER │ │ PHOENIX RETRIEVAL │ │ │ │ │ │ (In-Network Posts) │ │ (Out-of-Network Posts) │ │ │ │ │ │ │ │ │ │ │ │ │ │ Posts from accounts │ │ ML-based similarity search │ │ │ │ │ │ you follow │ │ across global corpus │ │ │ │ │ └─────────────────────────────┘ └────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ HYDRATION │ │ │ │ Fetch additional data: core post metadata, author info, media entities, etc. │ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ FILTERING │ │ │ │ Remove: duplicates, old posts, self-posts, blocked authors, muted keywords, etc. │ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ SCORING │ │ │ │ ┌──────────────────────────┐ │ │ │ │ │ Phoenix Scorer │ Grok-based Transformer predicts: │ │ │ │ │ (ML Predictions) │ P(like), P(reply), P(repost), P(click)... │ │ │ │ └──────────────────────────┘ │ │ │ │ │ │ │ │ │ ▼ │ │ │ │ ┌──────────────────────────┐ │ │ │ │ │ Weighted Scorer │ Weighted Score = Σ (weight × P(action)) │ │ │ │ │ (Combine predictions) │ │ │ │ │ └──────────────────────────┘ │ │ │ │ │ │ │ │ │ ▼ │ │ │ │ ┌──────────────────────────┐ │ │ │ │ │ Author Diversity │ Attenuate repeated author scores │ │ │ │ │ Scorer │ to ensure feed diversity │ │ │ │ └──────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ SELECTION │ │ │ │ Sort by final score, select top K candidates │ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ FILTERING (Post-Selection) │ │ │ │ Visibility filtering (deleted/spam/violence/gore etc) │ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────────────────────────┐ │ RANKED FEED RESPONSE │ └─────────────────────────────────────────────────────────────────────────────────────────────┘ Ny singa Ao amin'ny mixer Location: home-mixer/ Ny sehatra orkiestra izay manangona ny For You feed. Ny rafitra dia miaraka amin'ny dingana manaraka: CandidatePipeline Stage Description Query Hydrators Fetch user context (engagement history, following list) Sources Retrieve candidates from Thunder and Phoenix Hydrators Enrich candidates with additional data Filters Remove ineligible candidates Scorers Predict engagement and compute final scores Selector Sort by score and select top K Post-Selection Filters Final visibility and dedup checks Side Effects Cache request info for future use Ny fitadiavana hydration Fetch ny fifandraisana amin'ny mpampiasa (historian'ny fandraisana anjara, lisitra manaraka) Ny loharanom-baovao Ireo mpandray anjara avy amin'ny Thunder sy Phoenix Ny hydration Manatsara ny kandidà amin'ny angona fanampiny Ny filazantsara Ny fanesorana ireo kandidà tsy manan-kery Ny mpandresy Manantena ny fandraisana anjara ary manangona ny valin'ny farany Ny mpifidy Mifanaraka amin'ny vokatra ary misafidy ny ambony K Filtre avy amin'ny fisafidianana Ny famantarana farany sy ny fanaraha-maso Ny fiantraikany Cache fangatahana vaovao ho an'ny fampiasana amin'ny hoavy Ny mpamatsy dia mampiseho ny endpoint gRPC ( ) izay miverina lahatsoratra voafaritra ho an'ny mpampiasa iray. ScoredPostsService Tendrombohitra Location: thunder/ Ny fivarotana mailaka ao amin'ny fahatsiarovana sy ny fitsapana amin'ny fotoana tena izay manara-maso ny lahatsoratra farany avy amin'ny mpampiasa rehetra. Mampiasa lahatsoratra mamorona / manafoana hetsika avy amin'ny Kafka Manakana ny fitehirizana isan'ny mpampiasa ho an'ny lahatsoratra fototra, valiny / reposts, ary lahatsary lahatsoratra Manompo ny kandidà "in-network" avy amin'ny kaonty manaraka ny mpampiasa mitaky Automatically trims lahatsoratra taloha noho ny fe-potoana fametrahana Ny Thunder dia mamela ny fikarohana amin'ny milisecond ho an'ny votoaty ao amin'ny tambajotra raha tsy misy tahiry ivelany. Ny Phoenix Location: phoenix/ Ny singa ML miaraka amin'ny asa roa fototra: Ny famerenana (Two-Tower Model) Mahita lahatsoratra manan-danja ivelan'ny tambajotra: User Tower: Mifanaraka ireo endri-javatra mpampiasa sy ny tantaran'ny fifandraisana amin'ny fametrahana Candidate Tower: Encodes ny lahatsoratra rehetra ho ao amin'ny embeddings Fikarohana mitovy amin'izany: mahita lahatsoratra ambony indrindra amin'ny K amin'ny alalan'ny vokatra mitovy amin'ny vokatra Transformers miaraka amin'ny kandidà (Transformer with Candidate Isolation) Manantena ny fahafahana handray anjara ho an'ny kandidà tsirairay: Mitaky ny fifandraisana amin'ny mpampiasa (ny tantara momba ny fandraisana anjara) sy ny kandidà ho toy ny fidirana Mampiasa ny fanehoan-kevitra manokana mba tsy ho afaka hihaona amin'ny kandidà Izany dia manome fahafahana ho an'ny karazana hetsika tsirairay (ohatra, valiny, repost, tsindrio, sns.) Izany Ho an'ny antsipirihany amin'ny dokam-barotra ara-barotra. phoenix/README.md Ny kandidà amin'ny pipeline Location: candidate-pipeline/ Ny rafitra azo ampiharina amin'ny famoronana pipelines fampirantiana dia mamaritra ny endri-javatra amin'ny: Trait Purpose Source Fetch candidates from a data source Hydrator Enrich candidates with additional features Filter Remove candidates that shouldn't be shown Scorer Compute scores for ranking Selector Sort and select top candidates SideEffect Run async side effects (caching, logging) Source Get kandidà avy amin'ny loharanom-baovao Hydrator Manatsara ny kandidà amin'ny endri-javatra fanampiny Filter Hamafa ireo kandidà izay tsy tokony hiseho Scorer Mifantoka amin'ny fametrahana ny ranking Selector Hisafidy sy misafidy ireo kandidà ambony indrindra SideEffect Mandeha async fiantraikany eo amin'ny tranonkala (caching, logging) Ny rafitra dia mihazakazaka amin'ny loharano sy ny hydrators raha azo atao, miaraka amin'ny fanitsiana ny fahadisoana sy ny fisoratana anarana. Ahoana no miasa Ny fandaharam-potoana Query Hydration: Hahita ny tantara sy ny metadata momba ny fandraisana anjara farany nataon'ny mpampiasa (ohatra lisitra manaraka) : Retrieve candidates from: Candidate Sourcing : Recent posts from followed accounts (in-network) Thunder : ML-discovered posts from the global corpus (out-of-network) Phoenix Retrieval : Enrich candidates with: Candidate Hydration Core post data (text, media, etc.) Author information (username, verification status) Video duration (for video posts) Subscription status : Remove posts that are: Pre-Scoring Filters Duplicates Too old From the viewer themselves From blocked/muted accounts Containing muted keywords Previously seen or recently served Ineligible subscription content : Apply multiple scorers sequentially: Scoring : Get ML predictions from the Phoenix transformer model Phoenix Scorer : Combine predictions into a final relevance score Weighted Scorer : Attenuate repeated author scores for diversity Author Diversity Scorer : Adjust scores for out-of-network content OON Scorer Fahafantarana: Fahafantarana amin'ny vokatra ary misafidy ny kandidà K ambony indrindra Post-selection Processing: Ny fanamarinana farany amin'ny kandidà amin'ny toerana hanompo Ny fametrahana sy ny ranking Ny modely Transformers mifototra amin'ny Phoenix Grok dia mihevitra ny mety ho an'ny karazana fifandraisana maromaro: Predictions: ├── P(favorite) ├── P(reply) ├── P(repost) ├── P(quote) ├── P(click) ├── P(profile_click) ├── P(video_view) ├── P(photo_expand) ├── P(share) ├── P(dwell) ├── P(follow_author) ├── P(not_interested) ├── P(block_author) ├── P(mute_author) └── P(report) Ny Asehon'izy ireo ho amin'ny famaranana farany: Weighted Scorer Final Score = Σ (weight_i × P(action_i)) Ny hetsika tsara (ohatra, repost, share) dia manana lanjany tsara. Ny hetsika ratsy (block, mute, report) dia manana lanjany ratsy, mampihena ny votoatin'ny mpampiasa izay mety tsy tiany. Ny filazantsara Ny filtre dia miasa amin'ny dingana roa: Pre-Scoring Filters: Filter Purpose DropDuplicatesFilter Remove duplicate post IDs CoreDataHydrationFilter Remove posts that failed to hydrate core metadata AgeFilter Remove posts older than threshold SelfpostFilter Remove user's own posts RepostDeduplicationFilter Dedupe reposts of same content IneligibleSubscriptionFilter Remove paywalled content user can't access PreviouslySeenPostsFilter Remove posts user has already seen PreviouslyServedPostsFilter Remove posts already served in session MutedKeywordFilter Remove posts with user's muted keywords AuthorSocialgraphFilter Remove posts from blocked/muted authors DropDuplicatesFilter Hamafa ny duplicate mailaka ID CoreDataHydrationFilter Hamafa lahatsoratra izay tsy nahavita ny metadata fototra AgeFilter Hamafa lahatsoratra mihoatra ny fe-potoana SelfpostFilter Hamafa ny lahatsoratra manokana avy amin'ny mpampiasa RepostDeduplicationFilter Reposts amin'ny votoatin'ny mitovy IneligibleSubscriptionFilter Tsy afaka miditra amin'ny votoatin'ny paywall ny mpampiasa PreviouslySeenPostsFilter Hamafa ny lahatsoratra mpampiasa efa nahita PreviouslyServedPostsFilter Hamafa lahatsoratra efa nalefa tao anatin'ny fivoriana MutedKeywordFilter Hamafa lahatsoratra miaraka amin'ny teny fanalahidin'ny mpampiasa AuthorSocialgraphFilter Hamafa lahatsoratra avy amin'ny mpanoratra voarara / muted Post-Selection Filters: Filter Purpose VFFilter Remove posts that are deleted/spam/violence/gore etc. DedupConversationFilter Deduplicate multiple branches of the same conversation thread VFFilter Hamafa lahatsoratra izay voavonjy / spam / herisetra / ambony, sns. DedupConversationFilter Deduplicate marika maromaro amin'ny fifandraisana mitovy loharano Ny fanapahan-kevitra fototra momba ny design 1. tsy misy famolavolana amin'ny tanana injeniera Ny rafitra dia miankina tanteraka amin'ny transformers Grok-based mba hianatra ny fifandraisana amin'ny mpampiasa fifandraisana andian-dahatsoratra. Tsy misy famolavolana fitaovana manual ho an'ny fifandraisana amin'ny votoaty. Isolation ny kandidà ao amin'ny fametrahana Nandritra ny fanadihadiana amin'ny transformers, ny kandidà dia tsy afaka mifanaraka amin'ny hafa - afa-tsy amin'ny fifandraisana amin'ny mpampiasa ihany. Izany dia manome antoka fa ny vokatra ho an'ny lahatsoratra dia tsy miankina amin'ny lahatsoratra hafa ao amin'ny batch, izay mahatonga ny vokatra ho tsiambaratelo sy azo alaina. Ny fametrahana Hash-Based Embeddings Ny fikarohana sy ny fametrahana dia mampiasa endri-javatra maromaro ho an'ny fametrahana fikarohana Ny famaritana ny asa maro Ankoatra ny manambara ny valin'ny "fahafaham-po" tokana, ny modely dia manambara ny mety ho an'ny hetsika maro. Ny famolavolana ny Composable Pipeline Architecture Ny Crate dia manome rafitra maivana ho an'ny fananganana pipelines amin'ny: candidate-pipeline Ny famaranana ny fanatanterahana sy ny fanaraha-maso ny pipeline avy amin'ny raharaham-barotra Fihetsiketsehana tsy miankina amin'ny dingana sy ny fitantanana ny fahadisoana Tsotra ny fametrahana loharano vaovao, hydrations, filters, ary scorer Fanamarihana: Ny fametrahana ny transformer dia avy amin'ny Grok-1 open source version avy amin'ny xAI, niova ho an'ny fampiasana rafitra fanamarihana. Fanamarihana: Ny fametrahana ny transformer dia avy amin'ny Grok-1 open source version avy amin'ny xAI, niova ho an'ny fampiasana rafitra fanamarihana. Ny Grok-1 amin'ny lisitry ny Open Source Ity tetikasa ity dia manana fahazoan-dalana eo ambany fahazoan-dalana Apache 2.0. Ity tetikasa ity dia manana fahazoan-dalana eo ambany fahazoan-dalana Apache 2.0.