New GNU ELPA package: vecdb - An interface to vector databases for embeddings
Sacha Chua <[email protected]> Mon, 21 Jul 2025 11:22:00 -0400
| Newsgroups | gmane.emacs.announce |
|---|---|
| Message-ID | <[email protected]> |
ICAgIFN1bW1hcnk6IEFuIGludGVyZmFjZSB0byB2ZWN0b3IgZGF0YWJhc2VzIGZvciBlbWJlZGRp bmdzDQogICBSZXF1aXJlczogZW1hY3MtMjkuMSwgcGx6LTAuOCwgcGctMC41Ng0KICAgIFdlYnNp dGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9haHlhdHQvdmVjZGINCiBNYWludGFpbmVyOiBBbmRyZXcg SHlhdHQgPGFoeWF0dEBnbWFpbC5jb20+DQogICAgIEF1dGhvcjogQW5kcmV3IEh5YXR0IDxhaHlh dHRAZ21haWwuY29tPg0KDQogICAgICAgICAgICAgICAg4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSBDQogICAgICAgICAgICAgICAg IFZFQ0RCOiBWRUNUT1IgU0VBUkNIIExJQlJBUlkgRk9SIEVNQUNTDQogICAgICAgICAgICAgICAg 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSBDQoNCg0KDQoNCg0KMSBJbnRyb2R1Y3Rpb24NCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkA0KDQogIFRoZSBgdmVjZGInIHBhY2thZ2UgcHJvdmlkZXMgYW4g aW50ZXJmYWNlIHRvIGEgdmVjdG9yIGRhdGFiYXNlLCB3aGVyZQ0KICB2ZWN0b3JzIGFyZSB2ZWNk YmRpbmdzIHJlcHJlc2VudGluZyBwaWVjZXMgb2YgdGV4dC4gIFRoZXNlIGRhdGFiYXNlcw0KICBl bmFibGUgInNlbWFudGljIHNlYXJjaCIsIHdoaWNoIGlzIGEgcG93ZXJmdWwgd2F5IHRvIHNlYXJj aCBvdmVyDQogIG1lYW5pbmcuICBUaGlzIGtpbmQgb2Ygc2VhcmNoIG5lZWRzIHNwZWNpYWxpemVk IHN0b3JhZ2UgYW5kIHJldHJpZXZhbC4NCg0KICBUaGlzIHBhY2thZ2UgZG9lc24ndCBwcm92aWRl IGVuZC11c2VyIGZ1bmN0aW9uYWxpdHkgb24gaXRzIG93bjsgaXQgaXMNCiAgZGVzaWduZWQgdG8g YmUgdXNlZCBpbiBvdGhlciBwYWNrYWdlcyB0aGF0IG5lZWQgc2VtYW50aWMgc2VhcmNoLg0KDQog IFRoZSBwYWNrYWdlIGRvZXMgbm90IHByb3ZpZGUgdmVjZGJkaW5ncywgdGhhdCBjYW4gYmUgZG9u ZSB3aXRoIHRoZQ0KICBbbGxtXSBwYWNrYWdlLCBvciBhbnkgc291cmNlIG9mIHZlY2RiZGluZ3Mu DQoNCg0KW2xsbV0gPGh0dHBzOi8vZ2l0aHViLmNvbS9haHlhdHQvbGxtPg0KDQoNCjIgQ29uZmln dXJpbmcgdGhlIGNvbGxlY3Rpb24NCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkA0KDQogIFRo ZXJlIGFyZSB0d28gY29uY2VwdHMgdGhhdCB0b2dldGhlciBkZWZpbmUgYSBjb2xsZWN0aW9uIGRh dGFiYXNlIG9mDQogIHZlY2RiZGluZ3M6IHRoZSAvcHJvdmlkZXIvLCBhbmQgdGhlIC9jb2xsZWN0 aW9uLy4gIFRoZSBwcm92aWRlciBpcw0KICB3aGF0IGtpbmQgb2YgYmFja2VuZCB3ZSBhcmUgdXNp bmcsIHJpZ2h0IG5vdyBlaXRoZXIgYGNocm9tYScsIG9yDQogIGBxZHJhbnQnLiAgVGhpcyBpcyBh IHN0cnVjdCBkZWZpbmVkIGJ5IHRoZSBleGFjdCBwcm92aWRlciB5b3Ugd2FudCB0bw0KICB1c2Uu DQoNCiAgVGhlIGNvbGxlY3Rpb24gaXMsIGZvciB0aGF0IHByb3ZpZGVyLCB3aGF0IGV4YWN0IGRh dGFiYXNlIGlzIGdldHRpbmcNCiAgdXNlZCwgd2l0aCBlYWNoIGNvbGxlY3Rpb24gaGF2aW5nIGl0 cyBvd24gc2VwYXJhdGUgZGF0YS4gIENvbGxlY3Rpb25zDQogIG11c3QgYmUgY3JlYXRlZCBiZWZv cmUgYmVpbmcgdXNlZC4gIFRoZSBjb2xsZWN0aW9uIGlzIGRlZmluZWQgYnkgdGhlDQogIHN0cnVj dCBgdmVjZGItY29sbGVjdGlvbicgd2hpY2ggaGFzIGEgYG5hbWUnICh1c2VkIHRvIGlkZW50aWZ5 IHRoZQ0KICBjb2xsZWN0aW9uKSwgYHZlY3Rvci1zaXplJywgYW5kIGBwYXlsb2FkLWZpZWxkcycu ICBUaGUgYHZlY3Rvci1zaXplJw0KICB3aWxsIGJlIGJhc2VkIG9uIHRoZSBzaXplIG9mIHRoZSB2 ZWNkYmRpbmcgdmVjdG9yIGZyb20geW91ciBwcm92aWRlci4NCiAgMTUzNiBpcyB3aGF0IE9wZW4g QUkgdXNlcy4gIGBwYXlsb2FkLWZpZWxkcycgaXMgYW4gYWxpc3Qgb2YgZmllbGRzIGFuZA0KICB0 aGVpciB0eXBlcyB0aGF0IGRlZmluZXMgb3RoZXIgZGF0YSBmaWVsZHMgdGhhdCBhcmUgaW5zZXJ0 ZWQgYW5kDQogIHJldHJpZXZlZCB3aGVuIHNlYXJjaCBoYXBwZW5zLCBhbmQgY2FuIGJlIHF1ZXJp ZWQgb24gYXMgd2VsbA0KICAoZXZlbnR1YWxseSwgaW4gYSBmdXR1cmUgaXRlcmF0aW9uIG9mIHRo ZSBwYWNrYWdlKS4NCg0KICBBbiBleGFtcGxlLCBwdXR0aW5nIGl0IGFsbCB0b2dldGhlciwgaXM6 DQoNCiAg4pSM4pSA4pSA4pSA4pSADQogIOKUgiAoZGVmdmFyIG15LXZlY2RiLXByb3ZpZGVyICht YWtlLXZlY2RiLXByb3ZpZGVyIDphcGkta2V5IG15LXFkcmFudC1hcGkta2V5IDp1cmwgbXktcWRy YW50LXVybCkpDQogIOKUgiAoZGVmdmFyIG15LXZlY2RiLWNvbGxlY3Rpb24gKG1ha2UtdmVjZGIt Y29sbGVjdGlvbiA6bmFtZSAibXkgdGVzdCBjb2xsZWN0aW9uIiA6dmVjdG9yLXNpemUgMTUzNiA6 cGF5bG9hZC1maWVsZHMgKCgnbXktaWQgLiAnc3RyaW5nKSkpKQ0KICDilJTilIDilIDilIDilIAN Cg0KICBUaGUgcHJvdmlkZXIgd2lsbCBiZSBzdXBwbGllZCBieSB0aGUgZW5kLXVzZXIsIHNwZWNp ZnlpbmcgaG93IHRoZXkNCiAgd2FudCB0aGluZ3Mgc3RvcmVkLCBhbmQgYW55IGRhdGEgbmVjZXNz YXJ5IGZvciB0aGF0IHN0b3JhZ2UgYW5kDQogIHJldHJpZXZhbCB0byBmdW5jdGlvbi4gIFRoZSBj b2xsZWN0aW9uIGlzIHR5cGljYWxseSBwYXJ0aWFsbHkgc3VwcGxpZWQNCiAgYnkgdGhlIGFwcGxp Y2F0aW9uLCB3aXRoIHRoZSBwb3NzaWJsZSBleGNlcHRpb24gb2YgdmVjZGJkaW5nIHNpemUsDQog IHdoaWNoIG1heSBiZSBkZXBlbmRlbnQgb24gdGhlIGV4YWN0IHZlY2RiZGluZyBwcm92aWRlciB0 aGV5IGFyZSB1c2luZy4NCg0KICBDb2xsZWN0aW9ucyBtdXN0IGJlIGNyZWF0ZWQgYmVmb3JlIHRo ZXkgY2FuIGJlIHVzZWQgd2l0aA0KICBgdmVjZGItY3JlYXRlJywgYW5kIGB2ZWNkYi1leGlzdHMn IGNhbiByZXR1cm4gd2hldGhlciB0aGUgY29sbGVjdGlvbg0KICBleGlzdHMuDQoNCiAg4pSM4pSA 4pSA4pSA4pSADQogIOKUgiAodW5sZXNzICh2ZWNkYi1leGlzdHMgbXktdmVjZGItcHJvdmlkZXIg bXktdmVjZGItY29sbGVjdGlvbikNCiAg4pSCICAgKHZlY2RiLWNyZWF0ZSBteS12ZWNkYi1wcm92 aWRlciBteS12ZWNkYi1jb2xsZWN0aW9uKSkNCiAg4pSU4pSA4pSA4pSA4pSADQoNCiAgVGhleSBj YW4gYWxzbyBiZSBkZWxldGVkIHdpdGggYHZlY2RiLWRlbGV0ZScuDQoNCg0KMyBBZGRpbmcgYW5k IHJlcGxhY2luZyBkYXRhDQrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZANCg0KICBCZWZvcmUgZGF0 YSBpcyBxdWVyaWVkLCBpdCBtdXN0IGJlIGFkZGVkLiBUaGlzIGlzIGRvbmUgdmlhIGEgYmF0Y2gN CiAgb3BlcmF0aW9uIG9uIGEgZ3JvdXAgb2YgZGF0YSwgYHZlY2RiLXVwc2VydC1pdGVtcycuIFRo aXMgZWl0aGVyDQogIGNyZWF0ZXMgYW4gaXRlbSBpbiB0aGUgY29sbGVjdGlvbiBvciByZXBsYWNl cyBpdCwgYmFzZWQgb24gdGhlIGBpZCcgb2YNCiAgdGhlIGl0ZW0uIGBpZCcgc2hvdWxkIGJlIGFu IGludGVnZXIgb3IgYSBzdHJpbmcgVVVJRC4gU2VlaW5nIGFzIGhvdw0KICBlbWFjcyBkb2VzIG5v dCBwcm92aWRlIGEgVVVJRCBsaWJyYXJ5LCBwcm9iYWJseSBhbiBpbnRlZ2VyIGlzIHRoZSBiZXN0 DQogIGNob2ljZS4NCg0KICDilIzilIDilIDilIDilIANCiAg4pSCICh2ZWNkYi11cHNlcnQtaXRl bXMgbXktdmVjZGItcHJvdmlkZXIgbXktdmVjZGItY29sbGVjdGlvbg0KICDilIIgCQkgKGxpc3Qg KG1ha2UtdmVjZGItaXRlbQ0KICDilIIgCQkJOmlkIDkxDQogIOKUgiAJCQk6dmVjdG9yIFswLjEg MC4yIDAuMyAwLjRdDQogIOKUgiAJCQk6cGF5bG9hZCAnKDpteS1pZCAiMjM1OTEzOTI2IikpKSkN CiAg4pSU4pSA4pSA4pSA4pSADQoNCiAgVGhlc2UgY2FuIGJlIGRlbGV0ZWQgd2l0aCBgdmVjZGIt ZGVsZXRlLWl0ZW0nIGFuZCByZXRyaWV2ZWQgYnkgSUQgd2l0aA0KICBgdmVjZGItZ2V0LWl0ZW0n Lg0KDQogIElEcyB1c2VkIGluIGB2ZWNkYicgKm11c3QqIGJlIGB1aW50NjQnIHZhbHVlcy4gIElm IHlvdSBoYXZlIGFub3RoZXIgSUQNCiAgeW91IG5lZWQgdG8gdXNlIHRvIHRpZSBpdCB0b2dldGhl ciB3aXRoIG90aGVyIHN0b3JhZ2UsIHRoYXQgc2hvdWxkIGdvDQogIGludG8gdGhlIGBwYXlsb2Fk Jy4gIEFsc28sIGVhY2ggaXRlbSBwYXNzZWQgaW4gbXVzdCBzZXQgdGhlIHNhbWUNCiAgcGF5bG9h ZCBmaWVsZHMuDQoNCg0KNCBRdWVyeWluZyBkYXRhDQrilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZANCg0KICBRdWVyeWluZyB0aGUgZGF0YWJhc2UgY2FuIGJlIGRv bmUgd2l0aCBgdmVjZGItc2VhcmNoLWJ5LXZlY3RvcicsDQogIHBhc3NpbmcgaXQgYSB2ZWN0b3Ig YW5kIG9wdGlvbmFsbHkgYSBudW1iZXIgb2YgcmVzdWx0cyB0byByZXR1cm4gKDEwDQogIGlzIHRo ZSBkZWZhdWx0KS4NCg0KICDilIzilIDilIDilIDilIANCiAg4pSCICh2ZWNkYi1zZWFyY2gtYnkt dmVjdG9yIG15LXZlY2RiLXByb3ZpZGVyIG15LXZlY2RiLWNvbGxlY3Rpb24gWzAuMyAwLjEgMC41 IC0wLjldIDIwKQ0KICDilJTilIDilIDilIDilIANCg0KICBUaGlzIHdpbGwgcmV0dXJuIHRoZSBz cGVjaWZpZXMgbnVtYmVyIG9mIGB2ZWNkYi1pdGVtJyBzdHJ1Y3RzLCB3aXRoDQogIHRoZSBwYXls b2FkcyB0aGV5IHdlcmUgc3RvcmVkIHdpdGguDQoNCg0KNSBQcm92aWRlcnMNCuKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkA0KDQo1LjEgcWRyYW50DQrilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIANCg0KICBbcWRyYW50XSBpcyBhbiBvcGVuIHNvdXJjZSB2ZWN0b3IgZGF0YWJh c2UgdGhhdCBjb25jZW50cmF0ZXMgbW9zdGx5IG9uDQogIHJ1bm5pbmcgaW4gdGhlIGNsb3VkLCBi dXQgY2FuIGJlIHJ1biBsb2NhbGx5IHdpdGggYSBkb2NrZXIgY29udGFpbmVyLg0KICBUaGV5IHBy b3ZpZGUgYSBmcmVlIHRpZXIgZm9yIHlvdXIgZGF0YWJhc2UgaW4gdGhlIGNsb3VkIHRoYXQgbWF5 IGJlDQogIGdhcmJhZ2UgY29sbGVjdGVkIGFmdGVyIGEgcGVyaW9kIG9mIGluYWN0aXZpdHkuDQoN CiAgQSBxZHJhbnQgcHJvdmlkZXIgaXMgZGVmaW5lZCBsaWtlOg0KDQogIOKUjOKUgOKUgOKUgOKU gA0KICDilIIgKGRlZnZhciBteS12ZWNkYi1wcm92aWRlciAobWFrZS12ZWNkYi1xZHJhbnQtcHJv dmlkZXIgOmFwaS1rZXkgbXktcWRyYW50LWFwaS1rZXkgOnVybCBteS1xZHJhbnQtdXJsKSkNCiAg 4pSU4pSA4pSA4pSA4pSADQoNCiAgU3Vic3RpdHV0ZSBgbXktcWRyYW50LWFwaS1rZXknIHdpdGgg eW91ciBrZXksIGFuZCBgbXktcWRyYW50LXVybCcgaXMNCiAgdGhlIFVSTCBvZiB0aGUgc2VydmVy IHRoYXQgaXMgdXNlZCB0byBzZXJ2ZSB5b3VyIGRhdGEuICBUaGlzIHdpbGwgYmUNCiAgdW5pcXVl IHRvIHlvdXIgY29sbGVjdGlvbiBpbiB0aGUgY2xvdWQsIG9yIGEgbG9jYWwgVVJMIGZvciBkb2Nr ZXIuDQoNCg0KW3FkcmFudF0gPGh0dHBzOi8vcWRyYW50LnRlY2gvPg0KDQoNCjUuMiBjaHJvbWEN CuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KDQogIFtjaHJvbWFdIGlzIGFuIG9wZW4g c291cmNlIFB5dGhvbi1jZW50cmljIHZlY3RvciBkYXRhYmFzZS4gIEl0IGNhbiBydW4NCiAgYXMg YSBzZXJ2ZXIgbG9jYWxseSwgb3Igb2ZmZXJzIHBhaWQgc2VydmljZXMgdG8gaG9zdCBpbiB0aGUg Y2xvdWQuDQogIEN1cnJlbnRseSB0aGlzIGxpYnJhcnkgb25seSBzdXBwb3J0cyBsb2NhbCBydW5u aW5nLg0KDQogIElmIHJ1bm5pbmcgbG9jYWxseSwgYmVmb3JlIHVzZSwgeW91IG11c3QgcnVuIGBj aHJvbWEgcnVuJyB0byBzdGFydCB0aGUNCiAgc2VydmVyLg0KDQogIFRoZSBjaHJvbWEgcHJvdmlk ZXIgaGFzIHR3byBhZGRpdGlvbmFsIGRpdmlzaW9ucyBvZiBkYXRhIGFib3ZlIHRoZQ0KICBjb2xs ZWN0aW9uLCBhbmQgdGhlc2UgYXJlIHNwZWNpZmllZCBpbiB0aGUgcHJvdmlkZXIgaXRzZWxmOiB0 aGUNCiAgL3RlbmFudC8gYW5kIHRoZSAvZGF0YWJhc2UvLiAgVGhlc2Ugd2lsbCBib3RoIGRlZmF1 bHQgdG8gYCJkZWZhdWx0IicsDQogIGJ1dCBjYW4gYmUgc3BlY2lmZWQuICBCZWNhdXNlIHRoZSBj aHJvbWEgcHJvdmlkZXIgaXMgbG9jYWwsIG15DQogIGRlZmF1bHQsIG5vIGNvbmZpZ3VyYXRpb24g aXMgbmVlZGVkOg0KDQogIOKUjOKUgOKUgOKUgOKUgA0KICDilIIgKGRlZnZhciBteS1jaHJvbWEt cHJvdmlkZXIgKG1ha2UtdmVjZGItY2hyb21hLXByb3ZpZGVyKSkNCiAg4pSU4pSA4pSA4pSA4pSA DQoNCiAgSG93ZXZlciwgdGhlIGZ1bGwgc2V0IG9mIG9wdGlvbnMsIGhlcmUgZGVtb25zdHJhdGlu ZyB0aGUgZXF1aXZhbGVudA0KICBzZXR0aW5ncyB0byB0aGUgZGVmYXVsdHMgYXJlOg0KDQogIOKU jOKUgOKUgOKUgOKUgA0KICDilIIgKGRlZnZhciBteS1jaHJvbWEtcHJvdmlkZXIgKG1ha2UtdmVj ZGItY2hyb21hLXByb3ZpZGVyDQogIOKUgiAJCQkgICAgOmJpbmFyeSAiY2hyb21hIg0KICDilIIg CQkJICAgIDp1cmwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCINCiAg4pSCIAkJCSAgICA6dGVuYW50 ICJkZWZhdWx0Ig0KICDilIIgCQkJICAgIDpkYXRhYmFzZSAiZGVmYXVsdCIpKQ0KICDilJTilIDi lIDilIDilIANCg0KDQpbY2hyb21hXSA8aHR0cHM6Ly93d3cudHJ5Y2hyb21hLmNvbS8+DQoNCg0K NS4zIFBvc3RncmVzIHdpdGggcGd2ZWN0b3INCuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KDQogIFRo ZSBwb3B1bGFyIGRhdGFiYXNlIFBvc3RncmVzIGhhcyBhbiBleHRlbnNpb24gdGhhdCBhbGxvd3Mg aXQgdG8gaGF2ZQ0KICB2ZWN0b3IgZGF0YWJhc2UgZnVuY3Rpb25hbGl0eSwgW3BndmVjdG9yXS4g IFRoaXMgbmVlZHMgdGhlIGBwZy1lbCcNCiAgbGlicmFyeS4NCg0KICBBIHByb3ZpZGVyIGRlZmlu ZXMgYSBkYXRhYmFzZSwgYW5kIHRoZSBjb2xsZWN0aW9uIHdpbGwgZGVmaW5lIGEgdGFibGUNCiAg d2l0aCB0aGUgY29sbGVjdGlvbiBuYW1lIGluIHRoYXQgZGF0YWJhc2UuDQoNCiAgRm9yIGV4YW1w bGUsDQogIOKUjOKUgOKUgOKUgOKUgA0KICDilIIgKGRlZnZhciBteS1wb3N0Z3Jlcy1wcm92aWRl ciAobWFrZS12ZWNkYi1wc3FscHJvdmlkZXIgOmRibmFtZSAibXlkYXRhYmFzZSIgOnVzZXJuYW1l ICJteXVzZXIiKSkNCiAg4pSU4pSA4pSA4pSA4pSADQoNCiAgVGhpcyBhbHNvIHRha2VzIGFuIG9w dGlvbmFsIHBhc3N3b3JkIGFzIHdlbGwuICBGb3Igbm93LCB0aGlzIGp1c3QgdXNlcw0KICBsb2Nh bGhvc3QgYXMgYSBkZWZhdWx0Lg0KDQoNCltwZ3ZlY3Rvcl0gPGh0dHBzOi8vZ2l0aHViLmNvbS9w Z3ZlY3Rvci9wZ3ZlY3Rvcj4NCg==