Gaurav Upreti

566 posts

Gaurav Upreti banner
Gaurav Upreti

Gaurav Upreti

@gauptx

Building AI systems. Writing about what actually works in production.

Katılım Haziran 2026
40 Takip Edilen10 Takipçiler
Sabitlenmiş Tweet
Gaurav Upreti
Gaurav Upreti@gauptx·
Most devs jump into RAG without a clear structure - then wonder why retrieval is inconsistent and outputs are unreliable Here's the structure I follow for every RAG pipeline: 1/ Document Ingestion: load, clean, pre-process, chunk. Get this wrong and everything downstream breaks. 2/ Embedding: convert chunks to vectors. Model choice matters - match it to your domain. 3/ Vector Storage: ChromaDB for dev, Qdrant or pg-vector for production. 4/ Retrieval: embed query, find top-k chunks. Test this independently before touching the LLM. 5/ Re-ranking: raw retrieval isn't always the best retrieval. Re-rank before passing to LLM. 6/ Generation: retrieved context + user query + structured prompt = reliable output. 7/ Evaluation: no eval means no idea if your pipeline actually works. Each step is its own failure point. Fix the step, not the system. Which part of your RAG pipeline gives you the most trouble? #rag #llm
Gaurav Upreti tweet media
English
0
1
1
744
Gaurav Upreti
Gaurav Upreti@gauptx·
Most "JWT authentication" tutorials get one critical thing wrong: they never expire the access token properly, or they store it somewhere XSS can reach it. Here's how JWT auth actually looks in a production FastAPI app.
English
0
0
0
2
Gaurav Upreti
Gaurav Upreti@gauptx·
@SahilExec Global regexes are designed for iteration, not repeated boolean checks. For isAdmin(), /admin/ is the safer choice than /admin/g.
English
0
0
0
7
Edgex
Edgex@SahilExec·
This regex is reused across multiple requests: isAdmin("admin") returns true, then false, then true again. Why does the same input give different results here?
Edgex tweet media
English
4
1
9
616
Gaurav Upreti
Gaurav Upreti@gauptx·
@system_monarch Choosing a database is really choosing which trade-offs become cheap and which become expensive. Everything else follows from that decision.
English
0
0
0
7
Puneet Patwari
Puneet Patwari@system_monarch·
Your database picked a side before you wrote a single query. Every database on earth is either read-optimized or write-optimized. There is no third option. The one you chose is taxing every operation you run, and most engineers never learn which tax they're paying.
English
3
0
29
2.3K
Gaurav Upreti
Gaurav Upreti@gauptx·
@SumitM_X Unless you’re on a symmetric fiber connection, download and upload speeds are usually designed to be very different. It’s an infrastructure decision, not a protocol limitation.
English
0
0
0
7
SumitM
SumitM@SumitM_X·
As a developer, Have you ever wondered : WHY downloading 1GB is fast but uploading 1GB feels slower?
English
8
1
58
10.3K
Gaurav Upreti
Gaurav Upreti@gauptx·
@haider1 Different bets optimize for different assumptions. It’s still too early to conclude whether scaling language models alone is sufficient or whether richer architectures are necessary.
English
0
0
0
8
Haider.
Haider.@haider1·
anthropic and openai may discover a route to AGI through superintelligent LLMs, but if it fails, they'll have to pivot google and demis are pursuing a broader approach that combines LLMs with planning, world models, agents, and robotics atm, it's too early to know which path will succeed
English
13
1
28
3.1K
Gaurav Upreti
Gaurav Upreti@gauptx·
@askalphaxiv One-shot code generation is useful. Turning a paper into something you can modify, test, and break is where the real learning starts.
English
0
0
0
8
alphaXiv
alphaXiv@askalphaxiv·
GPT 5.6 Sol can one-shot convert an arXiv paper into an interactive Marimo notebook! Great for papers best understood hands on (lots of fun examples in interpretability, inference engineering, agent harnesses, benchmarking, and more) Play around with the notebook, inspect the code, or try the same workflow with your own agents below
English
13
39
319
22.7K
Gaurav Upreti
Gaurav Upreti@gauptx·
@paulg We’ve always built on code we didn’t write. AI just moves that boundary one layer higher.
English
0
0
0
8
Paul Graham
Paul Graham@paulg·
Before vibe coding became a thing, programming was already evolving in that direction. It already increasingly consisted of installing and configuring stuff other people wrote, without reading the source.
English
303
269
5.6K
254.8K
Gaurav Upreti
Gaurav Upreti@gauptx·
@_jaydeepkarale I’d delete it without hesitation. The only cost is that Python recompiles the bytecode on the next run.
English
0
0
0
8
Jaydeep
Jaydeep@_jaydeepkarale·
nterviewer: Can I delete the __pycache__ folder? Candidate: "No, Python needs it." Interviewer: "Are you sure?"
English
10
1
70
21.8K
Gaurav Upreti
Gaurav Upreti@gauptx·
@Akintola_steve Unless it creates competitive advantage, I’d rather own the business logic than the security surface.
English
0
0
0
8
Akintola Steve
Akintola Steve@Akintola_steve·
As a backend developer, which would you prefer? Building your own authentication system from scratch, or integrating a third-party authentication provider into your application? I’d love to know your choice and, more importantly, why.
English
83
8
136
14K
Gaurav Upreti
Gaurav Upreti@gauptx·
@goyalshaliniuk Prompt engineering optimizes a single interaction. Loop engineering optimizes the entire feedback cycle. That’s the difference between getting an answer and building a reliable system.
English
0
0
0
9
Shalini Goyal
Shalini Goyal@goyalshaliniuk·
Loop Engineering vs Prompt Engineering What's the Difference? Many people think they're the same. They're not. Prompt Engineering gets AI to generate an answer. Loop Engineering gets AI to improve the answer. Here's the difference 👇
Shalini Goyal tweet media
English
15
23
84
1.1K
Gaurav Upreti
Gaurav Upreti@gauptx·
@DanielGlejzner Hiring and day-to-day engineering are drifting apart. The wider that gap becomes, the less predictive interviews become.
English
0
0
0
9
Daniel Glejzner
Daniel Glejzner@DanielGlejzner·
Software hiring has become absurd. At work, you’re expected to use AI to offload manual coding and move faster. Then, to get your next contract, you’re asked to code from memory with no assistance. Pass the interview - and you’re expected to use AI again. It has never been this broken.
English
207
297
4.7K
192.6K
Gaurav Upreti
Gaurav Upreti@gauptx·
@akshdeeps_001 Embeddings capture similarity, not truth. Two chunks can be close in vector space yet both be factually wrong. That’s why retrieval quality depends on both good embeddings and good data.
English
0
0
0
7
Aksh
Aksh@akshdeeps_001·
Let's discuss what is Embedding An embedding converts text into a list of numbers — a vector "king" becomes [0.2, 0.8, 0.1, ...] "queen" becomes [0.2, 0.7, 0.1, ...] notice something? similar meaning = similar numbers = close together in vector space this is why: → semantic search finds meaning, not just keywords → recommendation systems find similar content → RAG retrieves relevant documents "king" - "man" + "woman" = "queen" in vector space language literally has geometry meaning has coordinates and once you understand this — how LLMs, RAG pipelines, and search actually work suddenly makes complete sense
English
3
1
9
1.6K
Gaurav Upreti
Gaurav Upreti@gauptx·
@devops_prashant A 12ms ping only proves the network is fast. It says nothing about server processing, frontend rendering, or browser work.
English
0
0
0
17
Prashant Tyagi
Prashant Tyagi@devops_prashant·
Interviewer: You run ping google.com. Response time: 12ms. You open Google in Chrome. Page loads in 800ms. If ping is 12ms, why does the page take 800ms?
Prashant Tyagi tweet media
English
17
0
13
1.2K
Gaurav Upreti
Gaurav Upreti@gauptx·
@IamAroke LLMs are strongest when the decision has already been made. System design is about deciding what should be built before generating how to build it.
English
0
0
0
13
Austin
Austin@IamAroke·
LLMs are great at generating boilerplate but terrible at system design decisions.
English
13
0
54
1.8K
Gaurav Upreti
Gaurav Upreti@gauptx·
@asmah2107 The model isn’t usually the bottleneck. Moving the right information to the right place at the right time is.
English
0
0
0
14
Ashutosh Maheshwari
Ashutosh Maheshwari@asmah2107·
Context management is actually a complex distributed systems problem.
English
12
5
64
4.3K
Gaurav Upreti
Gaurav Upreti@gauptx·
@arpit_bhayani Evaluation is becoming just as important as generation. As LLMs improve, the competitive advantage shifts toward measuring quality consistently rather than guessing it.
English
0
0
0
13
Arpit Bhayani
Arpit Bhayani@arpit_bhayani·
New write-up is live, and this time I covered G-Eval. It helps answer one important question: how do you know whether what an LLM generated is apt, correct, and aligned with your requirements? G-Eval is a pretty simple framework that leverages Chain-of-Thought prompting over clearly defined rubrics. Instead of simply asking an LLM to "rate this post" or "is this correct?", it makes the evaluation process more procedural and reproducible. If you bluntly ask an LLM to rate something on a scale of 1-5, it tends to exhibit a bias toward picking certain values, lacks a clear audit trail, and often suffers from a bias toward its own model family. G-Eval solves this neatly. In this blog, I covered G-Eval in detail and showed how to adopt it in your AI workloads to actually measure whether your LLM outputs are getting better. If you are looking for a reliable blueprint for LLM evaluation, this guide should help. Give it a read, and like always, I hope this helps.
Arpit Bhayani tweet media
English
10
10
160
10.3K
Gaurav Upreti
Gaurav Upreti@gauptx·
@ashoKumar89 A Dockerfile is part of your production architecture. Build caching, image size, security, and reproducibility matter just as much as starting the app.
English
0
0
0
8
Ashok Sahoo
Ashok Sahoo@ashoKumar89·
Would you approve this Dockerfile? It works. What production issues do you see?
Ashok Sahoo tweet media
English
8
1
31
10.6K