The best way to use text embeddings portably is with Parquet and Polars
1–10 of 61 posts
Re: The best way to use text embeddings portably is with Parquet and Polars
#2Re: The best way to use text embeddings portably is with Parquet and Polars
#3Since we are talking about an embedded solution shouldn't the benchmark be something like sqlite with a vector extension or lancedb?
I just became aware of lancedb and am looking into that, although from glancing at the README it has similar issues to faiss with regards to usability for casual use, although much better than faiss in that it can work with colocated metadata.
Re: The best way to use text embeddings portably is with Parquet and Polars
#4IMO a hindrance to this was lack of built-in fixed-size list array support in the Arrow format, until recently. Some implementations/clients supported it, while others didn't. Else, it could have been used as the default storage format for numpy arrays, torch tensors, too.
(You could always store arrays as variable length list arrays with fixed strides and handle the conversion).
Re: The best way to use text embeddings portably is with Parquet and Polars
#5Re: The best way to use text embeddings portably is with Parquet and Polars
#6Is your example of a float32 number correct, holding 24 ascii char representation? I had thought single-precision gonna be 7 digits and the exponent, sign and exp sign. Something like 7+2+1+1 or 10 char ascii representation? Rather than the 24 you mentioned?
In practice numbers with that much precision is overkill and verbose so tools don't print float32s to that level of precision.
Re: The best way to use text embeddings portably is with Parquet and Polars
#7https://duckdb.org/2024/05/03/vector-similarity-search-vss.h...
Re: The best way to use text embeddings portably is with Parquet and Polars
#8Yes, it’s a vector database and has more complexity. But you can use it without creating indexes and it has excellent polars and pandas zero copy arrow support also.
Re: The best way to use text embeddings portably is with Parquet and Polars
#9Re: The best way to use text embeddings portably is with Parquet and Polars
#10For another library that has great performance and features like full text indexing and the ability to version changes I’d recommend lancedb https://lancedb.github.io/lancedb/ Yes, it’s a vector database and has more complexity. But you can use it without creating indexes and it has excellent polars and pandas zero copy arrow support also.