Junior Software Engineer
at Divusware.

I maintain and optimize a multi-provider RAG pipeline (Voyage AI, pgVector, OpenAI, Anthropic, Google), delivering a 35% quality improvement and 25% cost reduction by moving from a single hardcoded model to per-provider optimal selection. I also strengthen the UI of .NET (Blazor) applications with my web frontend expertise.

Tech-stack I’ve used here

Challenges I faced

  • Single Point of Failure: Hardcoded LLM dependency with no fallback strategy during outages.

  • Context Loss in Multi-Turn RAG: Isolated query embeddings and unpersisted chunks caused retrieval failures on ambiguous follow-ups (e.g., “that”, “the interface”).

  • Silent Tech Debt & Zero Visibility: An undetected deprecated Voyage reranker in production and no logs to trace which model generated a response.

Achievements

  • Up to 35% improvement. In response quality through per-provider optimal model selection.

  • Up to 25% cost reduction. By matching cheaper models to simpler tasks.

  • Zero-downtime resilience. Provider outages no longer interrupt the support chat, switchable in real time from the admin panel.

  • Fixed multi-turn retrieval failures. Via query reformulation, Redis chunk caching, and context-aware prompting.

  • Data-driven model strategy. QA-benchmarked model lineup balancing quality, speed, and price.

Architecture diagram

Divusware multi-provider RAG pipelineA support question moves from the chat channels through query reformulation, conversation memory, hosted embeddings, pgVector retrieval and a reranking confidence gate with one retry, then through the multi-provider model layer and back as an answer.Support channelsWhatsApp · Intercom · APIRAG agentRedishistorysource memoryReformulationheuristic + LLM fallbackEmbeddingshosted modelKnowledge basedocs → chunks → embeddingspgVectorcosine similarityRerankingcross-encoder · top-kModel providersAnthropicOpenAIGoogleper-agent selection · failoverconfidence gatesingle retryanswer

My approach

  • Live Multi-Provider Failover: Built a provider-agnostic engine with an admin toggle to switch between LLMs (OpenAI, Anthropic) in real time without redeploying.

  • Context-Aware Hybrid Retrieval:

    • Implemented heuristic query reformulation with automatic fallback to a lightweight LLM (gpt-5.4-mini) when retrieval confidence drops below 0.45.
    • Added sub-millisecond Redis caching (3-hour TTL) to blend previous chunk IDs into candidates before reranking.
    • Refined prompts to explicitly resolve anaphoric references using chat history.
  • Data-Driven Model Selection: Established a QA evaluation framework scoring models against the quality-speed-cost triangle.

  • Observability & Tech Debt Remediation: Migrated the deprecated reranker to rerank-2.5-lite and implemented metadata tagging to trace model outputs per message.