Building Goal-Oriented Retrieval Agents for Low-Latency Recommendations at Scale

faber_labs · E-commerce · 2024 · source Agentic: yes · promotional bias: high · source-backed · extracted with prompt 0.5.5 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Real-time recommendation and KPI optimization

Faber Labs built GORA to personalize rankings for businesses whose goals differ across e-commerce, healthcare, and financial services. The system needed to optimize subjective relevance toward measurable outcomes, adapt to in-session feedback, handle privacy-sensitive client data, serve recommendations with conversation-aware low latency, and avoid conflicting objectives across independently optimized model components.

Constraints:

Architecture

GORA combines custom large event models, open-source LLM components, end-to-end reinforcement learning, and a Rust serving layer. Client event data trains large event models that generalize over user event sequences. A unified goal layer defines each client's measurable objective, then reinforcement learning jointly optimizes embedding generators, reranking models, and agent models toward that outcome. A real-time feedback processor updates context selection and agent behavior during conversations, while a Rust backend orchestrates user requests, model management, and GPU key-value caching for follow-up prompts. On-prem deployment and privacy-preserving cross-client learning address regulated clients.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  client-application[Client application] --> gora-serving-api[GORA serving API]
  gora-serving-api --> rust-backend[Rust backend]
  gora-serving-api --> real-time-feedback-processor[Real-time feedback processor]
  client-event-data[Client event data] --> large-event-models[Large event models]
  client-event-data --> privacy-preserving-learning-layer[Privacy-preserving learning layer]
  privacy-preserving-learning-layer --> large-event-models
  rust-backend --> large-event-models
  rust-backend --> gpu-key-value-cache[GPU key-value cache]
  rust-backend --> open-source-llm-components[Open-source LLM components]
  rust-backend --> real-time-feedback-processor
  large-event-models --> embedding-generators[Embedding generators]
  large-event-models --> reranking-models[Reranking models]
  large-event-models --> agent-models[Agent models]
  embedding-generators --> unified-reward-optimizer[Unified reward optimizer]
  reranking-models --> unified-reward-optimizer
  agent-models --> unified-reward-optimizer
  real-time-feedback-processor --> agent-models
  on-prem-deployment[On-prem deployment] --> rust-backend
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Client application E-commerce, healthcare, banking, or other consumer-facing surface requesting personalized rankings. GORA serving API
GORA serving API Online recommendation interface that returns interactive rankings and context-aware results. Rust backend, Real-time feedback processor
Rust backend Low-latency backend layer for request orchestration, model management, data movement, and key-value caching. Large event models, GPU key-value cache, Open-source LLM components, Real-time feedback processor
Client event data Messy client-provided behavioral data used to train large event models and reward layers. Large event models, Privacy-preserving learning layer
Large event models Custom models trained from scratch to generalize over user event data and event sequences. Embedding generators, Reranking models, Agent models
Embedding generators Model component jointly optimized as part of the ranking system. Unified reward optimizer
Reranking models Model component that ranks candidate items according to client goals and user context. Unified reward optimizer
Agent models Adaptive model component whose behavior is modified by real-time feedback and goal optimization. Unified reward optimizer, Real-time feedback processor
Unified reward optimizer End-to-end reinforcement-learning layer that aligns embedding, reranking, and agent components to the same client KPI. Embedding generators, Reranking models, Agent models
Real-time feedback processor Processes in-session user feedback and feeds it into context selection and agent behavior. Agent models, GORA serving API
GPU key-value cache Conversation-cache layer that avoids regenerating key-value cache for follow-up prompts. Rust backend
Open-source LLM components Language components used to glue the system together and present ranking outputs to users. Rust backend
Privacy-preserving learning layer Reward/alignment layer that learns across clients without leaking direct private information between them. Client event data, Large event models
On-prem deployment Deployment option for medical, banking, and other privacy-sensitive clients. Rust backend

Data flow

A client defines a measurable KPI such as conversion, average order value, readmission reduction, or call-center reduction. GORA ingests that client's event data, including messy real-world behavior logs, and trains large event models from scratch. During an interaction, real-time user feedback influences context selection and agent behavior. Embedding generators, reranking models, and agent models are jointly optimized through a reinforcement-learning reward layer, then served through a Rust backend that manages request orchestration, model state, and GPU key-value caching for conversational follow-ups. Open-source LLMs glue results together and present them to users, while privacy controls isolate client data and support on-prem deployments.

6 supporting quotes
“goals are defined at the client level as I said early on you know one client's uh objective might be to optimize for conversion rate or average order value”transcript, stated
“we implemented a realtime feedback processing uh system to integrate it with agent decision making and this feedback influences context selection obviously also has to modify agent Behavior and optimizes the system overall so I'll discuss a little bit about”transcript, stated
“these models include embedding uh generators uh reranking models and agent models and since they're optimized jointly using the final reinforcement learning step”transcript, stated
“we leverage rest as our as I said code our backend layer um on the orchestration side for both user requests but also for managing aspects of our models”transcript, stated
“we a leverage intelligent cashing on the GPU um to prevent the need to generate the key value cach for follow-up prompts”transcript, stated
“we actually rely on open source llms uh for um for like the llm components to actually you know glue everything back together and presented to the user”transcript, stated

Why this architecture

Faber split ranking from language generation because LLMs are not the core ranking engine; large event models handle event-sequence relevance while LLMs present or glue outputs. The unified reinforcement-learning objective prevents each model stage from optimizing a different metric. Rust was chosen for latency, concurrency, security, and cost reasons, while GPU KV caching addresses growing conversation state. On-prem deployment and cross-client privacy controls let the same architecture serve healthcare and finance without directly sharing client data.

5 supporting quotes
“for the actual meat of the ranking it is correct that we use uh what we call large event models yes we do train them from scratch uh the data that we get is from our uh from our clients they provide us with with this data and one of the key things that again”transcript, stated
“we then optimize our models end to endend around these very specific go goals holistically and not just in a peace meal fashion”transcript, stated
“we set component level latency budgets and optimize inter component communication through parallel processing and in this way we're able to improve response times uh manage the system complexity and enhance this uh end user experience and critical to that by”transcript, stated
“rust is actually known for its memory safety and concurrent processing capabilities uh and it's allowed us to achieve zero cost of stress ctions uh one of my co-founders who actually strongly advocated uh for this for this move to rust uh was inspired by how”transcript, stated
“having this very blazing fast system has made it like very easy for us to offer this on Prem solution um for for people in the medical space and actually as we're um now working with neob banks as well um that's another kind of uh you know place that has”transcript, stated

Models used: Large event models · open-source LLMs · embedding generators · reranking models · agent models · policy models

Scale

Alternatives considered (roads not taken)

Optimize stacked model components independently.

Rejected because: Independently optimized embedding, reranking, and agent models can work toward conflicting objectives; Faber instead jointly optimizes around the final KPI.

“avoid a lot of the common pitfalls particularly of larger uh relevance ranking systems that use uh stacked models that are optimized for different objectives”transcript, stated
“models that are optimized for different objectives uh especially because a lot of the times these objectives can actually run counter to each other a common one um is that you know for retailers conversion rate doesn't always mean an increase in end uh in end uh gross”transcript, stated

Use LLMs as the core ranking engine.

Rejected because: Faber uses open-source LLMs for language-facing glue, but relies on large event models for the ranking workload.

“we actually also do use llms right um but they're not like the the core kind of Novel offering that we have we actually rely on open source llms uh for um for like the llm components to actually you know glue everything back together and presented to the”transcript, stated
“for the actual meat of the ranking it is correct that we use uh what we call large event models yes we do train them from scratch uh the data that we get is from our uh from our clients they provide us with with this data and one of the key things that again”transcript, stated

Use a Python-oriented backend for the production serving layer.

Rejected because: The team chose Rust despite a painful transition because performance, privacy/security, concurrency, and cost mattered for low-latency serving.

3 supporting quotes
“one of our best and most important decisions has been to run our backend almost entirely in Rust um there was a huge huge debate internally among the team uh as to whether or not we should we should go with something that was more had more support in the”transcript, stated
“the transition was super super painful especially you know myself I come from a python uh I have a lot of experience in Python and Scola uh uh so it was it was definitely a mind Bender as a lot of the concepts and rust are counterintuitive uh at least to me”transcript, stated
“it's been really really really worthwhile the effort because it's really en enhanced our privacy and security um and also efficiency”transcript, stated

Regenerate conversation key-value cache for each follow-up.

Rejected because: Growing conversations become operationally unwieldy, so GPU-side intelligent caching avoids recomputing KV state.

“you end up with this larger larger uh stack that can get quite unwieldy from an operations perspective to to to manage and to produce kind of effective results particularly given that you know we're not primarily a knowledge Discovery platform uh we're”transcript, stated
“intelligent cashing on the GPU um to prevent the need to generate the key value cach for follow-up prompts and this has been uh an another thing that we've tried that has been really really helpful in uh helping us manage uh our infrastructure and latency at”transcript, stated

Require clean, heavily preprocessed client data.

Rejected because: Faber considered messy client data inevitable and built the large event model pipeline to consume it directly for scalability.

“we can just use their messy data uh we've been on the other end we know how messy uh client data can be and we knew that if we didn't have a very very kind of um scalable solution to quickly be able to take advantage of that messy data as is uh we'd be dead”transcript, stated
“if we didn't have a very very kind of um scalable solution to quickly be able to take advantage of that messy data as is uh we'd be dead in the water”transcript, stated

Patterns

retrieval-ranking (retrieval)

GORA is a relevance-ranking system that reranks user-facing options toward client-defined KPIs such as conversion, order value, or readmission reduction.

“Gora uh to transform subjective relevance ranking using Cutting Edge Technologies”transcript, stated
“these models include embedding uh generators uh reranking models and agent models”transcript, stated

data-quality-loop (feedback)

The system processes in-session user feedback and uses it to influence context selection, modify agent behavior, and optimize the overall system.

“um you know obviously we want to take into account historical user Behavior but the key thing here for us is real time in session user feedback and when you think about the importance of the user at the center of the system uh you begin to realize actually one of the one of the key challenges”transcript, stated
“this feedback influences context selection obviously also has to modify agent Behavior and optimizes the system overall”transcript, stated

latency-optimization (infrastructure)

Faber uses Rust, component latency budgets, parallel processing, and GPU key-value caching to keep a conversation-aware ranking system responsive.

3 supporting quotes
“we set component level latency budgets and optimize inter component communication through parallel processing”transcript, stated
“rust is actually known for its memory safety and concurrent processing capabilities”transcript, stated
“intelligent cashing on the GPU um to prevent the need to generate the key value cach for follow-up prompts”transcript, stated

cost-aware-routing (operations)

The bootstrapped team chose a Rust backend partly to reduce infrastructure costs while serving low-latency model workloads.

“significantly reduced our costs which is really important to us because we started out this company we were bootstrapped”transcript, stated
“quickly and efficiently move data around which ultimately allows for the lowest possible late”transcript, stated

privacy-preserving-processing (security)

GORA supports on-prem deployments and cross-client learning without direct information leakage between clients.

“medical applications how do you tackle the enhanced privacy challenges due to the sensitive nature of the data so we actually have an on-prem option again like what this comes out to comes down to is like because having having on-prem Solutions is actually really really challenging like it's a”transcript, stated
“without compromising privacy so we don't leak any information direct information uh between clients”transcript, stated

fine-tuning-adaptation (model-development)

Faber trains custom large event models from scratch on client event data rather than using a generic model for all domains.

“llms so do you train them from scratch and how much data does it require very good question um so actually uh we do train them from scratch uh the large event models but they're not like the only we actually also do use llms right um but they're not like the the core kind of Novel offering that”transcript, stated
“be dead in the water again goes back to bootstrapping and and being able to scale and things like that so uh we use client data to train our large large event models and the specific uh alignment function that we've designed uh at in the reward layer allows us to actually take benefit take”transcript, stated

semantic-caching (performance)

The system caches GPU key-value state for conversation follow-ups, avoiding repeated generation of prompt cache state.

“intelligent cashing on the GPU um to prevent the need to generate the key value cach for follow-up prompts”transcript, stated

Tradeoffs

Optimize all ranking components toward one client-defined goal.

Chose end-to-end reinforcement learning with unified goals over piecemeal optimization of stacked models.

Rationale: Client KPIs can conflict, so jointly optimizing embedding generators, rerankers, and agent models reduces objective mismatch.

“we then optimize our models end to endend around these very specific go goals holistically and not just in a peace meal fashion”transcript, stated
“that use uh stacked models that are optimized for different objectives uh especially because a lot of the times these objectives can actually run counter to each other a common one um is that you know for retailers conversion rate doesn't always mean an increase in end uh in end uh gross”transcript, stated

Use large event models for ranking and LLMs for language glue.

Chose hybrid specialized-model plus LLM architecture over LLM-only recommendation logic.

Rationale: The core ranking task is handled by models trained for event data, while open-source LLMs are reserved for components where language presentation is useful.

“they're not like the the core kind of Novel offering that we have we actually rely on open source llms”transcript, stated
“for the actual meat of the ranking it is correct that we use uh what we call large event models”transcript, stated

Build the backend in Rust.

Chose Rust backend over more familiar Python/data-science stack.

Rationale: Rust imposed a painful learning curve but delivered memory safety, concurrency, lower costs, privacy/security benefits, and low-latency serving.

3 supporting quotes
“one of our best and most important decisions has been to run our backend almost entirely in Rust”transcript, stated
“Community but one of our best and most important decisions has been to run our backend almost entirely in Rust um there was a huge huge debate internally among the team uh as to whether or not we should we should go with something that was more had more support in the data science Community um”transcript, stated
“it's been really really really worthwhile the effort because it's really en enhanced our privacy and security um and also efficiency”transcript, stated

Cache conversation KV state on GPU.

Chose GPU key-value caching over regenerating cache for follow-up prompts.

Rationale: Conversation-aware systems accumulate large context state, and caching keeps follow-up latency and infrastructure overhead manageable.

“we a leverage intelligent cashing on the GPU um to prevent the need to generate the key value cach for follow-up prompts”transcript, stated
“this has been uh an another thing that we've tried that has been really really helpful in uh helping us manage uh our infrastructure and latency at scale”transcript, stated

Offer on-prem deployments.

Chose on-prem option for sensitive clients over cloud-only deployment.

Rationale: Healthcare and financial services clients require stronger data-control guarantees, even though on-prem support adds engineering burden.

3 supporting quotes
“medical applications how do you tackle the enhanced privacy challenges due to the sensitive nature of the data so we actually have an on-prem option again like what this comes out to comes down to is like because having having on-prem Solutions is actually really really challenging like it's a”transcript, stated
“so we actually have an on-prem option again like what this comes out to comes down to is like because having having on-prem Solutions is actually really really challenging like it's a it's a it's an additional engineering challenge that you have so um and you know it can be a killer”transcript, stated
“how they have actually used uh an on-prem solution for their for their application of Agents as well um again privacy is key so and we've known this for a very long time so awesome uh delip also asks I understand you train these large event models uh rather than use llms so do you train them from”transcript, stated

Gotchas (what bit them)

Personalization and real-time feedback can conflict with privacy.

Root cause: The system needs user behavior and in-session signals, but clients in healthcare and finance handle sensitive data.

Resolution: Faber built large event models, privacy-preserving cross-client learning, and on-prem deployment options.

3 supporting quotes
“one of the key challenges we actually ended up facing pretty early on was of balancing personalization real-time feedback particularly actually in in the medical space as well uh with privacy”transcript, stated
“medical applications how do you tackle the enhanced privacy challenges due to the sensitive nature of the data so we actually have an on-prem option again like what this comes out to comes down to is like because having having on-prem Solutions is actually really really challenging like it's a”transcript, stated
“we're able to learn from you know the findings and feedback user feedback overall from one client to another without without leaking any kind of private information yeah that's good so you talked a lot about uh you know leveraging rust and how much much benefit that gave you so for other”transcript, stated

Stacked relevance models can optimize against each other.

Root cause: Metrics such as conversion rate and gross merchandise sales can move in opposite directions.

Resolution: The architecture jointly optimizes embedding generators, rerankers, and agent models against a unified goal.

3 supporting quotes
“that use uh stacked models that are optimized for different objectives uh especially because a lot of the times these objectives can actually run counter to each other a common one um is that you know for retailers conversion rate doesn't always mean an increase in end uh in end uh gross”transcript, stated
“conversion rate doesn't always mean an increase in end uh in end uh gross merchandising sales”transcript, stated
“and these these models include embedding uh generators uh reranking models and agent models and since they're optimized jointly using the final reinforcement learning step um you know we're able to avoid a lot of the common pitfalls particularly of larger uh relevance ranking systems that”transcript, stated

Conversation-aware recommendation state grows operationally unwieldy.

Root cause: Follow-up prompts require representing an expanding conversation in the model.

Resolution: The team caches key-value state on GPU to reduce repeated computation for follow-up prompts.

3 supporting quotes
“having allowing for obviously followup prompts in a conversation and then having that whole conversation uh also be represented somehow”transcript, stated
“you end up with this larger larger uh stack that can get quite unwieldy from an operations perspective”transcript, stated
“we a leverage intelligent cashing on the GPU um to prevent the need to generate the key value cach for follow-up prompts”transcript, stated

Rust can impose a steep learning and migration cost for Python-heavy ML teams.

Root cause: Rust concepts are counterintuitive for practitioners coming from Python or data-science backgrounds.

Resolution: The team accepted the painful transition because performance, security, and cost gains were worth it.

3 supporting quotes
“the transition was super super painful especially you know myself I come from a python”transcript, stated
“a lot of the concepts and rust are counterintuitive uh at least to me”transcript, stated
“it's been really really really worthwhile the effort because it's really en enhanced our privacy and security”transcript, stated

On-prem deployment can be a heavy burden for early-stage companies.

Root cause: Privacy-sensitive clients need local deployment, but offering on-prem solutions adds engineering complexity.

Resolution: Faber argues the lightweight Rust system made on-prem deployment manageable for medical and banking clients.

3 supporting quotes
“having on-prem Solutions is actually really really challenging like it's a it's a it's an additional engineering challenge that you have”transcript, stated
“it can be a killer especially early on for businesses like ours”transcript, stated
“having this very blazing fast system has made it like very easy for us to offer this on Prem solution”transcript, stated

Evaluation

Faber evaluates GORA against client business KPIs and latency requirements rather than only model-internal metrics. The talk emphasizes conversion rate, average order value, readmission-rate reduction goals, response/load times, comparison to conversational adaptive agent systems, and whether technical improvements translate into client business impact.

Metrics: conversion rate · average order value · readmission rates · call center volume · response times · load times · component latency budgets · user engagement · joint KPI improvement

5 supporting quotes
“goals are defined at the client level as I said early on you know one client's uh objective might be to optimize for conversion rate or average order value”transcript, stated
“another ones might be to reduce surgical admissions another would be to reduce call center volume”transcript, stated
“we set component level latency budgets and optimize inter component communication through parallel processing”transcript, stated
“in you know taking some of making some of the decisions that we uh that we have so let's dive into the numbers we've actually significantly improved our load times and a lot of these enhancements I have to say uh haven't just boosted user engagement but also positioned us against a well ahead”transcript, stated
“do they translate into tangible business impact for our clients and thankfully the answer has been a resounding yes”transcript, stated

Outcomes

The talk cites 35 percent of Amazon revenue from recommendations, sub-second results, 53 percent mobile abandonment above three-second loads, component latency budgets, many clients across industries, above-200-percent reported KPI increases, client-data training, cross-client learning without direct leakage, and on-prem deployments.

5 supporting quotes
“we are able to provide subse interactive results and that are able to adapt in real time to user preferences”transcript, stated
“we're actually seeing consistently above 200% increases jointly in in CBR and in conversion rate and average order value”transcript, stated
“for this move to rust uh was inspired by how Discord handled their migration to the language and in any case we've seen very significant improvements in our benchmarks and you know even though I have to be honest the the transition was super super painful especially you know myself I come from a”transcript, stated
“this has been uh an another thing that we've tried that has been really really helpful in uh helping us manage uh our infrastructure and latency at scale”transcript, stated
“without compromising privacy so we don't leak any information direct information uh between clients”transcript, stated