Skip to content(if available)orjump to list(if available)

An experiment of adding recommendation engine to your app using pgvector search

yas_hmaheshwari

Wow! Thank you for sharing this. I am bookmarking this article for future use! ( Truth be told, I did not fully understand everything but hopefully future me would )

Reminds of that article about Postgres for everything: https://github.com/Olshansk/postgres_for_everything

tanelpoder

Author here, thank you for the kind words :-)

I haven't yet written a "formal launch post" of the CatBench Postgres/pgvector app that I used for examples in the current article, but all the source code and install instructions are already available here:

https://github.com/tanelpoder/catbench

rsingel

This will get you very basic recommendations, which is a nice start. But will be quite limited.

But you could, and have been able do this just as easily with compression.

Compress A. Measure the file size.

Compress B. Measure the file size

Compress C. Measure the file size

Compress A + B. Measure the file size. Compare it to (the size of A + the size of B). If A and B are similar the compressed file size will be much smaller than the combined file size of A compressed + B compressed.

Compress A + C. Measure the size. If A and C are similar the compressed file size will be much smaller than the combined file size of A compressed + C compressed.

Compress B + C. Measure the size.

Also see Simon Willison work on using embeddings for similarities: https://simonwillison.net/2023/Oct/23/embeddings/#related-co...

isoprophlex

Nice complexity you got there. Would be a shame if something... quadratic were to happen to it.

jstanley

That won't measure semantic similarity, at least with typical compression algorithms.