Vec1

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2026-08-14
18:38
Avoid SQLite automatically repreparing the SQL statement used to read from the %_idx table each time a new value is bound to it. leaf check-in: 254f222b82 user: dan tags: trunk
17:21
Fix minor documentation problems. check-in: 76acf88f84 user: dan tags: trunk
2026-08-11
15:17
Update vibe_test.tcl to sample rows randomly for training. check-in: 8c9adf0974 user: dan tags: trunk
2026-08-10
21:03
Add "Recommended training parameters" section to doc/vec1intro.md. check-in: 0cecf0bdec user: dan tags: trunk
2026-08-08
20:33
Update docs to allow for more flexibility in the way the training profile callback is invoked in the future. check-in: 6b9abecb8d user: dan tags: trunk
17:41
Fix the "model" column of the vec1cat table to better comport with vec1_train(). check-in: 747a32cc87 user: dan tags: trunk
2026-08-07
19:58
Have the final message issued by vec1_train() via the progress callback be "training complete". Add a new "profile" callback which is passed a json object containing the profiling information at the end of training. check-in: cfd3baa1d6 user: dan tags: trunk
17:31
Allow nbucket:1 models. This allows you to center vectors before using BQ on them. check-in: ac1a792d15 user: dan tags: trunk
16:49
Fix another read of undefined values that could occur when using a binary quantizer on vectors that are not a multiple of 8 in size. check-in: 54752d402e user: dan tags: trunk
16:03
Ensure that the dimensions-per-codebyte parameter is always set to 8 or 16 internally when using a binary quantizer. Report 2026-08-05T02:28:46Z. check-in: 5630951af3 user: dan tags: trunk
2026-08-06
17:26
Fix a use-of-uninitialized-value sanitizer complaint in code to scan arrays of blocked codes. check-in: c73d0a4bf9 user: dan tags: trunk
16:45
Fix the sizes of some buffers in cases where the vector size is not an integer multiple of the PQ codesize. Report 2026-08-05T05:46:16Z. check-in: d599822f43 user: dan tags: trunk
14:43
Also mark SQL functions and aggregates created by vec1 as SQLITE_INNOCUOUS. check-in: bca0ccf1a8 user: dan tags: trunk
14:39
Set the SQLITE_VTAB_INNOCUOUS flag for vec1 virtual tables. check-in: 4c04e0e4e6 user: dan tags: trunk
14:11
Follow pgvector and refuse to accept any vector containing a Nan or Infinite value. This addresses report 2026-08-05T02:14:51Z. This can be revisited if anyone complains. check-in: ba5ea2e7bf user: dan tags: trunk
2026-08-05
20:12
Have vec1_train() reject nthread:0. Report 2026-08-05T02:26:51Z . check-in: bd4962ba00 user: dan tags: trunk
19:30
Avoid crashing in the case where an inserted vector is extremely far from all centroids. Report 2026-08-05T02:31:51Z . check-in: f795150547 user: dan tags: trunk
19:06
Ensure unrecognized parameters within a query json object are reported as errors. Fix for report 2026-08-05T05:56:10Z. check-in: 9112b55dfa user: dan tags: trunk
18:37
Ensure that for NN queries, the "distance" column always contains the distance between the result and query vectors, even if there is no index. Report 2026-08-05T01:32:56Z. check-in: c72e6ac941 user: dan tags: trunk
17:31
Fix a problem confusing NULL and integer value 0x7FFFFFFF within meta-value lists that use the 4-byte integer format. Report 2026-08-05T02:20:23Z. check-in: a0fe090644 user: dan tags: trunk
16:57
Ensure the internal vector-size field is set correctly following a savepoint rollback. And that a model that has been rolled back on disk does not remain cached in memory. Report 2026-08-05T01:26:25Z. check-in: 959beb6a25 user: dan tags: trunk
14:27
Add support for "ALTER TABLE RENAME TO" to vec1 tables. Report 2026-08-05T01:12:57Z. check-in: e9a261a44d user: dan tags: trunk
11:52
Do not allow text values to be written to vec1 table vector columns. Report 2026-08-04T23:38:27Z. check-in: 8b11c2a330 user: dan tags: trunk
2026-08-04
19:52
Clarify that {opq:1} was deprecated in favor of {quantizer: "opq"}. check-in: 277b933172 user: dan tags: trunk
16:51
Have the xBestIndex routine return SQLITE_CONSTRAINT if there is an unusable vector query term. Fix for bug report 5b6d1f4c9b. check-in: ff9fdbed5a user: dan tags: trunk
16:19
Rework UPDATE handling to check there are no constraint violations before deleting the old row. Fix for report 173423ad5a. check-in: 9752bcf8ab user: dan tags: trunk
2026-06-27
14:15
Minor website tweak. check-in: 3aeb7c7efa user: dan tags: trunk
2026-06-25
19:02
Minor documentation updates. check-in: 8fc7b115a4 user: dan tags: trunk, version-0.7
2026-06-22
19:24
Update docs to account for training interface enhancements for BQ. check-in: 87bcfa9fc7 user: dan tags: trunk
2026-06-17
20:30
Add code for binary quantizers and the Walsh-Hadamard Transform. check-in: 849374242c user: dan tags: trunk
20:05
Set the codesize header field of a model that uses binary quantization so as to allow either 1 or 2 dimensions per bit. closed check-in: 296dc31f53 user: dan tags: binary-quant
18:22
Increase version number to 0.7. Set the model header to require at least 0.7 if the model uses binary quantizer. check-in: 8a00291fe4 user: dan tags: binary-quant
2026-06-13
18:49
Fix problems with deleting vectors from tables using a binary quanitizer. check-in: 6216484af8 user: dan tags: binary-quant
17:20
Another fix for integrity-check with binary quantized vectors. check-in: 5ebab9a688 user: dan tags: binary-quant
15:02
Fix problems with binary quantizers and integrity-check. check-in: ce4f186660 user: dan tags: binary-quant
2026-06-12
16:20
Fix integrity-check with on tables that use the binary-quantizer. check-in: bf000848d5 user: dan tags: binary-quant
2026-06-11
18:28
Allow bq quantizer to use 1 bit for 2 dimensions. check-in: 281ce225ac user: dan tags: binary-quant
2026-06-06
19:13
Add the "quantizer" option to the training configuration object. May be set to string value "none", "pq", "opq" or "bq". check-in: 0d66cd7187 user: dan tags: binary-quant
2026-06-04
17:49
Consolidate the functions used to scan PQ and BQ blocks. check-in: 1f88f9a98c user: dan tags: binary-quant
06:10
Use the same blocked layout for BQ as PQ. check-in: 60c154f4bf user: dan tags: binary-quant
2026-05-30
14:40
Add routines to use hamming distance instead of ADC with binary quantization. Not clear the speedup will be worth the cost in recall at this point... check-in: 65c6b19d63 user: dan tags: binary-quant
2026-05-29
19:31
Add compile time option for 4-bit binary-quantizer LUT. Not as fast as 8-bit with current (unblocked) storage. check-in: 9db73bdef4 user: dan tags: binary-quant
13:17
Add test for binary quantization. check-in: d9e90504c1 user: dan tags: binary-quant
13:16
Add an option to use Walsh-Hadamard transform in vector pipeline. This improves the accuracy of binary quantization. check-in: b56656c37d user: dan tags: binary-quant
2026-05-28
17:34
Add experimental binary quantizer as an alternative to PQ. Not as effective as PQ, but if used with residual vectors does not require training. check-in: d49913f9fe user: dan tags: binary-quant
2026-05-26
16:51
Increase version number to 0.6. check-in: 762865e44d user: dan tags: trunk, version-0.6
2026-05-25
15:56
Fix some source code comments. Add tests. check-in: 5d3268addf user: dan tags: trunk
2026-05-20
17:51
Improve test coverage slightly. check-in: 0491d61e40 user: dan tags: trunk
2026-05-15
11:40
Add tests and fixes to restore test coverage. check-in: 61d095bece user: dan tags: trunk
2026-05-14
16:36
Handle errors that may cause transaction rollback within calls to vec1UpdateMethod(). check-in: 4d957c1495 user: dan tags: trunk