RSS Amplifier

Blog

Dhaval Singh's Blog

Founding Engineer @ Seezo.io

dsdev.inRSS feed ↗20 posts

Written by

Latest posts

Current Agentic Development Workflow(June)

Using AI for developement is changing pretty fast(maybe a lil too fast) and I keep evolving my workflow as it progresses. So I thought I'll start documenting it at certain times, just to reflect and s

The cost of doing evals has gone down substantially...

Evals have been extremely important for building agentic products. This is a known fact, but the main problem has always been doing better or decent evals. The hard part of evals is not just building

K.I.S.S(Keep It Static, Stupid): System prompt ft. caching

The 3 most important things that control what happens to the cache are: Tool Defs Systemp Prompts Messages Explicitly in this order! Atleast confirmed for claude and gpt models. The gemini docs a

Not All Caches Are Equal: Claude, OpenAI, and Gemini

We focus quite a bit on prompt caching @LittlebirdAI to ensure lower latencies and cost. But it's very tricky to get it right, esp when you deal with multiple providers. There are quite a few really g

Some notes on Agentic search & Turbopuffer

Search systems are always broken. Mend them with care, and like Kintsugi, they become more beautiful. Recently I’ve been diving deep in improving search & retrieval for Littlebird and here are some notes worth sharing. Turbopuffer Tpuf is an amazing...

Counting tokens at scale using tiktoken

Tiktoken is one of the most popular tokenizers out there. This is a really nice and simple cookbook that shows how to use it. Recently I was optimizing our token counting function that is often used to chunk data to send to embedding models(need prec...

Run any LLM locally on your Mac in less than 2 mins

I am just surprised that is is so simple. Plus it’s so elegant, I want to stand on my rooftop and shout. Anyway, here are the steps. BTW you only need 1min if you dont care about a fancy chat interface. Step 1: Visit https://ollama.com/ click on down...

Resources to transition to 'Applied AI' role

I have seen quite a few software devs(including me) with little to no background in ML jumping on the genAI train in the last 1-2 years. While this is a good thing and using LLMs with no prior classical ML knowledge helps in some ways it is also a de...

Curated resources: AI Product x How to eval?

We at Seezo have been trying our best to make evals a first class citizen in our SDLC of our LLM backed product. The end goal is to have a robust pipeline that integrates seamlessly in your normal developemnt cycle. This is even more difficult if you...

Order of fields in Structured output can hurt LLMs output

We at Seezo deal with structured output(SO) a lot, and hence I have a lot of interest in understanding what’s the best way to prompt LLMs, esp when constraining their output to JSON and how can it affects result. Recently, I came across Let Me Speak ...

Murphy's Law: Startup Version

Being a founding engineer has been a wild ride. I have learnt a lot over the last year and a lot of generic advice/quotes seem to make sense, one way or the other. But one stands out, ie: Murphy’s Law. According to wikipedia: Though similar statement...

Experiments with gpt-4o vision and architecture diagrams

I was playing around with 4o’s vision capability, especially for extracting complex technical architecture diagrams and here is how i did it. It’s a bit too early for conclusion on what works and what doesn’t. More on that in later posts. What do we ...

Notes on evals in LLM-based applications

A big lesson I've learned while building LLM-based applications: "Unless you have a closed feedback loop, nothing you do will be good enough" Allow me to explain. When building an LLM app, I constantly found myself chasing 100s of different optimizat...

Looping defaultdict In Templates: A long-standing "Bug" in Django

I am new to Django and recently spent a good chunk of time trying to debug what I thought was quite trivial. Looping a defaultdict in templates. This is a pretty common pattern when using Django, using a dict to pass and render data via templates, bu...

Tech Tradeoffs #1: Django or Rails? MySQL or MongoDB?

Context: I started working at Seezo, where we are building a product for security design reviews. At this point, we are on the 0 to 1 journey and all the technical decisions we make might have a large impact on the future of our company. Personally, ...

A Gentle Introduction to AI Chat Bot Concepts

Hello, fellow AI enthusiasts who are trying to stay updated with the new tech boom that is AI (like me!). I recently caught the "AI" fever too and started playing around with some tools like Langchain to build something and learn a little while at it...

How Truly Random are Random Numbers?

We have all generated random numbers at one point or another, be it for calculations or HTTP cookies. If you haven’t manually generated one and you are working on a real-life project, there is a high chance somewhere it is being generated for you in ...

Talk: Andaz Apna Apna

Context Talk at the BRUG(Bangalore Ruby Users Group) Meetup Dec 2023. This one was special. More conversation around the community and how it has helped and why Ruby community continues to be one of the best ones. Short answer is https://twitter.com...

To raise or not to raise?

Did you know they have ashtrays in Airplane bathrooms even tho smoking is banned inside!? It turns out there is a good reason for them, and you’ll be glad they’re there. In case a passenger does illegally sneak a ciggy, planes must have a safe place ...

What the pluck?

ActiveRecord is a great ORM, with a ton of nifty little things that make your life easy when dealing with DB queries. pluck is one such method. I've been using pluck for as long as I can remember, and even my second oldest article is on it! Even afte...