HN user

jonathan-adly

1,274 karma

Founder. TJM labs

Posts32
Comments234
View on HN
github.com 1y ago

Show HN: ColPali as an API

jonathan-adly
2pts0
colivara.com 1y ago

Show HN: A state of the art retrieval API on both text and visual documents

jonathan-adly
1pts0
blog.colivara.com 1y ago

Hybrid search vs. Token pooling benchmarking

jonathan-adly
3pts1
github.com 1y ago

Show HN: Using VLLMs for RAG – skip the fragile OCR

jonathan-adly
2pts0
jonathanadly.com 1y ago

Async Django in Production

jonathan-adly
50pts45
blog.colivara.com 1y ago

From Cosine to Dot: Benchmarking Similarity Metrics

jonathan-adly
2pts0
github.com 1y ago

Show HN: ColiVara – State of the Art RAG API with Vision Models

jonathan-adly
10pts0
blog.colivara.com 1y ago

Optimizing Vector Storage with halfvecs. A free lunch?

jonathan-adly
9pts1
jonathanadly.com 1y ago

Is async Django ready for prime time?

jonathan-adly
3pts2
jonathanadly.com 1y ago

My Uv Docker Workflow

jonathan-adly
1pts0
jonathanadly.com 1y ago

Hyperscript Behaviors

jonathan-adly
1pts0
benpate.github.io 1y ago

Hyperscrips Widgets

jonathan-adly
1pts0
jonathanadly.com 1y ago

Long Context vs. RAG

jonathan-adly
4pts0
jonathanadly.com 2y ago

Securing Your Self-Hosted Open Source AI Application

jonathan-adly
2pts0
jonathanadly.com 2y ago

Ollama with Llama3 and Code Interpreter

jonathan-adly
2pts0
github.com 2y ago

Show HN: Open-source Code Interpreter Alternative that works with LLM

jonathan-adly
1pts0
jonathanadly.com 2y ago

Open Sourcing a Python Project the Right Way in 2024

jonathan-adly
1pts0
news.ycombinator.com 2y ago

Ask HN: How to open-source a Python package the right way?

jonathan-adly
3pts0
galenai.co 3y ago

Show HN: GalenAI – An AI Powered Search Engine for Clinicians

jonathan-adly
2pts2
erictopol.substack.com 3y ago

The Power of “Machine Eyes”

jonathan-adly
3pts0
www.richmondfed.org 4y ago

Why Stablecoins Fail: An Economist’s Post-Mortem on Terra

jonathan-adly
5pts1
joyful.gifts 4y ago

Show HN: Automate Your Gifting

jonathan-adly
7pts4
moreisdifferent.substack.com 4y ago

The Current State of AI in Medicine

jonathan-adly
3pts0
graphics.reuters.com 4y ago

The race to reconnect Tonga

jonathan-adly
126pts27
twitter.com 4y ago

Director of ops for Web3 ENS service fired for a 6 yrs old controversial tweet

jonathan-adly
2pts0
twitter.com 4y ago

Paul Graham on NFTs

jonathan-adly
13pts16
www.businessinsider.com 4y ago

Biden’s admin blocks a court decision forgiving a disabled man student loan

jonathan-adly
8pts0
letstalkbitcoin.com 4y ago

The Lightning Network in the Old West

jonathan-adly
2pts0
htmx-django.com 4y ago

HTMX/Django series. Project 2: Markdown preview

jonathan-adly
5pts0
htmx-django.com 4y ago

Single-Page Application without writing any JavaScript

jonathan-adly
3pts1

Basically- the same math as modern automated manufacturing. Super expensive and complex build-out - then a money printer once running and optimized.

I know there is lots of bearish sentiments here. Lots of people correctly point out that this is not the same math as FAANG products - then they make the jump that it must be bad.

But - my guess is these companies end up with margins better than Tesla (modern manufacturer), but less than 80%-90% of "pure" software. Somewhere in the middle, which is still pretty good.

Also - once the Nvidia monopoly gets broken, the initial build out becomes a lot cheaper as well.

Malleable Software 11 months ago

We have been running this playbook for the last 2 years in healthcare, and we have been super successful. Doubling every quarter over the last year. 70%+ profitability, almost 7 figures of revenue. 100% bootstrapped.

People are still mentally locked in to the world where code was expensive. Code now is extremely cheap. And if it is cheap, then it makes sense that every customer gets their own.

Before - we built factories to give people heavy machinery. Now, we run a 3d printer.

Everyday I thank SV product-led growth cargo cults for telling, sometimes even forcing our competition to not go there.

Lots of YC companies copy each other process and selection criteria. Basically- they all have the same blind spots and look for the same type of engineer.

So, super easy to scam all of them with the same skillset and mannerism.

I send this article as part of onboarding for all new devs we hire. It is super great to keep a fast growing team from falling into the typical cycle of more people, more complexity.

The “equivalent” here would be Jina-Clip (architecture-wise), not necessarily performance.

The ColPali paper(1) does a good job explaining why you don’t really want to directly use vision embeddings; and how you are much better off optimizing for RAG with a ColPali like setup. Basically, it is not optimized for textual understanding, it works if you are searching for the word bird; and images of birds. But doesn’t work well to pull a document where it’s a paper about birds.

1. https://arxiv.org/abs/2407.01449

Here is a nice use-case. Put this in a pharmacy - have people hit a button, and ask questions about over-the-counter medications.

Really - any physical place where people are easily overwhelmed, have something like that would be really nice.

With some work - you can probably even run RAG on the questions and answer esoteric things like where the food court in an airport or the ATM in a hotel.

Hi HN!

We benchmarked two ways to improve the latency in RAG workflows with a multi-vector setup. Hybrid search using Postgres native capabilities and a relatively new method of token pooling. Token pooling unlocked up to 70% faster latency with <1% performance cost.

So - the synthetic QAs datasets in the Vidore datasets are exactly like that 90% text, 10% charts/tables. OCR + BM25 is at ~90% NCDG@5 which is pretty decent. ColPali/Ours is at ~98%.

It is a small upgrade, but one nonetheless. The complexity, and the cost of multi-vectors *might* not make this worth it, really depends on how accuracy-critical the task is.

For example, one of our customers who does this over FDA monographs, which is like 95%+ text, and 5% tables - they misses were extremely painful - even though there weren't that many in text-based pipelines. So, the migrations made sense to them.

I would like to throw our project in the ring that solves this problem: https://github.com/tjmlabs/ColiVara

1. Uses half-vecs, so you cut down everything by half with no recall loss 2. Uses token pooling with hierarchial clustering at 3, so, you further cut down things by 2/3rd with <1% loss 3. Everything is on Postgres and pgvector, so you can do all the Postgres stuff and decrease corpus size by document metadata filtering 4. We have a 5000+ pages corpus in production with <3 seconds latency. 5. We benchmark against the Vidore leaderboard, and very near SOTA

You can read about half-vecs here: https://jkatz05.com/post/postgres/pgvector-scalar-binary-qua...

Hierarchical token pooling: https://www.answer.ai/posts/colbert-pooling.html

And how we implemented them here: https://blog.colivara.com/

I would strongly advise against people learning based on LangChain.

It is abstraction hell, and will set you back thousands of engineers hours the moment you want to do something differently.

RAG is actually very simple thing to do; just too much VC money in the space & complexity merchants.

Best way to learn is outside of notebooks (the hard parts of RAG is all around the actual product), and use as little frameworks as possible.

My preferred stack is a FastAPI/numpy/redis. Simple as pie. You can swap redis for pgVector/Postgres when ready for the next complexity step.

We have traditionally used Django in all our projects. We believe it is one of the most underrated, beautifully designed, rock solid framework out there.

However, if we are to be honest, the history of async usage in Django wasn't very impressive. You could argue that for most products, you don’t really need async. It was just an extra layer of complexity without any significant practical benefit.

Over the last couple of years, AI use-cases have changed that perception. Many AI products have calling external APIs over the network as their bottleneck. This makes the complexity from async Python worth considering. FastAPI with its intuitive async usage and simplicity have risen to be the default API/web layer for AI projects.

I wrote about using async Django in a relatively complex AI open source project here: https://jonathanadly.com/is-async-django-ready-for-prime-tim...

tldr: Async django is ready! there is a couple of gotcha's here and there, but there should be no performance loss when using async Django instead of FastAPI for the same tasks. Django's built-in features greatly simplify and enhance the developer experience.

So - go ahead and use async Django in your next project. It should be a lot smoother that it was a year or even six months ago.

Yea - 100% agree. Migrating old projects is really hard. DRF paradigms is just too opinionated and it will be basically a rebuild.

What we did for a client was to do api/v2 - and essentially do one endpoint migration at a time. api-v2 was basically its own independent application within the Django monolith.

One thing I would highly recommend is to know familiarize yourself with what tools exist. For example, people spend thousands of hours trying to make PDFs with lots of charts and tables work via chunking and splitting. They aren't even aware that we have end to end visual pipeline where you don't have to chunk or split - treating everything as an image.

My startup using htmx was there - and it was acquired successfully.

They migrated pretty quick to react after the acquisition due to team dynamics (offshore big teams - seeped into JS heavy client, thin server culture). htmx was a struggle there as well.

It worked amazing for us as a small team where everyone was full stack and I always build using htmx-first now. But, it is a struggle for folks who have been working in React-like patterns for 5+ years and never experienced the bless of MVC apps.

This is excellent. I have been running a very similar stack for 2 years, and you got all the tricks of the trade. Pgvector, HyDe, Web Search + document search. Good dashboard with logs and analytics.

I am leaving my position, and I recommended this to basically replace me with a junior dev who can just hit the API endpoints.

I built and sold a company that does this a year ago. It was hard 2 years ago, but now pretty standard RAG with a good implementation will get you there.

The trick is, healthcare users would complain to no end about determinism. But, these are “below-the-line” user - aka, folks who don’t write checks and the AI is better than them. (I am a pharmacist by training, and plain vanilla GPT4-turbo is better than me).

Don’t really worry about them. The folks who are interested and willing to pay for AI has more practical concerns - like what is my ROI and the implementation like.

Also - folks should be building Baymax from big hero 6 by now (the medical capabilities, not the rocket arm stuff). That’s the next leg up.

Great article. It’s not so bad as a user of python honestly. Venv goes a long way, and with docker its get the rest of the way there.

The problem is when you want to open-source a package. I consider myself a professional Python developer, yet I was completely overwhelmed with all ways you can manage and release a package. Hatch, poetry, rye, setup, and a million other things that can make you a waste days fighting the language.

I highly recommend this cookiecutter from Simon Willison: https://simonwillison.net/2024/Jan/16/python-lib-pypi/

I just open-sourced a project last week[0] and it took 5 minutes (after 2 days fighting other tools).

0. https://pypi.org/project/agentrun/