Commit Graph

1472 Commits

Author SHA1 Message Date
BubbleCal 445a312667 fix: selecting columns failed on FTS and hybrid search (#1991)
it reports error `AttributeError: 'builtins.FTSQuery' object has no
attribute 'select_columns'`
because we missed `select_columns` method in rust

Signed-off-by: BubbleCal <bubble-cal@outlook.com>
2025-01-03 13:08:12 +08:00
Lance Release 92d845fa72 Bump version: 0.17.2-beta.0 → 0.17.2-beta.1 python-v0.17.2-beta.1 2024-12-31 23:36:18 +00:00
Lei Xu 397813f6a4 chore: bump pylance to 0.21.1b1 (#1989) 2024-12-31 15:34:27 -08:00
Lei Xu 50c30c5d34 chore(python): fix typo of the synchronized checkout API (#1988) 2024-12-30 18:54:31 -08:00
Bert c9f248b058 feat: add hybrid search to node and rust SDKs (#1940)
Support hybrid search in both rust and node SDKs.

- Adds a new rerankers package to rust LanceDB, with the implementation
of the default RRF reranker
- Adds a new hybrid package to lancedb, with some helper methods related
to hybrid search such as normalizing scores and converting score column
to rank columns
- Adds capability to LanceDB VectorQuery to perform hybrid search if it
has both a nearest vector and full text search parameters.
- Adds wrappers for reranker implementations to nodejs SDK.

Additional rerankers will be added in followup PRs

https://github.com/lancedb/lancedb/issues/1921

---
Notes about how the rust rerankers are wrapped for calling from JS:

I wanted to keep the core reranker logic, and the invocation of the
reranker by the query code, in Rust. This aligns with the philosophy of
the new node SDK where it's just a thin wrapper around Rust. However, I
also wanted to have support for users who want to add custom rerankers
written in Javascript.

When we add a reranker to the query from Javascript, it adds a special
Rust reranker that has a callback to the Javascript code (which could
then turn around and call an underlying Rust reranker implementation if
desired). This adds a bit of complexity, but overall I think it moves us
in the right direction of having the majority of the query logic in the
underlying Rust SDK while keeping the option open to support custom
Javascript Rerankers.
2024-12-30 09:03:41 -05:00
Renato Marroquin 0cb6da6b7e docs: add new indexes to python docs (#1945)
closes issue #1855

Co-authored-by: Renato Marroquin <renato.marroquin@oracle.com>
2024-12-28 15:35:10 -08:00
BubbleCal aec8332eb5 chore: add dynamic = ["version"] to pass build check (#1977)
Signed-off-by: BubbleCal <bubble-cal@outlook.com>
2024-12-28 10:45:23 -08:00
Lance Release 46061070e6 Updating package-lock.json 2024-12-26 07:40:12 +00:00
Lance Release dae8334d0b Bump version: 0.17.1 → 0.17.2-beta.0 python-v0.17.2-beta.0 2024-12-25 08:28:59 +00:00
BubbleCal 8c81968b59 feat: support IVF_FLAT on remote table in rust (#1979)
Signed-off-by: BubbleCal <bubble-cal@outlook.com>
2024-12-25 15:54:17 +08:00
BubbleCal 16cf2990f3 feat: create IVF_FLAT on remote table (#1978)
Signed-off-by: BubbleCal <bubble-cal@outlook.com>
2024-12-25 14:57:07 +08:00
Will Jones 0a0f667bbd chore: fix typos (#1976) v0.14.1 2024-12-24 12:50:54 -08:00
Will Jones 03753fd84b ci(node): remove hardcoded toolchain from typescript release build (#1974)
We upgraded the toolchain in #1960, but didn't realize we hardcoded it
in `npm-publish.yml`. I found if I just removed the hard-coded
toolchain, it selects the correct one.

This didn't fully fix Windows Arm, so I created a follow-up issue here:
https://github.com/lancedb/lancedb/issues/1975
2024-12-24 12:48:41 -08:00
Lance Release 55cceaa309 Updating package-lock.json 2024-12-24 18:39:00 +00:00
Lance Release c3797eb834 Updating package-lock.json 2024-12-24 18:38:44 +00:00
Lance Release c0d0f38494 Bump version: 0.14.1-beta.7 → 0.14.1 2024-12-24 18:38:11 +00:00
Lance Release 6a8ab78d0a Bump version: 0.14.1-beta.6 → 0.14.1-beta.7 2024-12-24 18:38:06 +00:00
Lance Release 27404c8623 Bump version: 0.17.1-beta.7 → 0.17.1 python-v0.17.1 2024-12-24 18:37:28 +00:00
Lance Release f181c7e77f Bump version: 0.17.1-beta.6 → 0.17.1-beta.7 2024-12-24 18:37:27 +00:00
BubbleCal e70fd4fecc feat: support IVF_FLAT, binary vectors and hamming distance (#1955)
binary vectors and hamming distance can work on only IVF_FLAT, so
introduce them all in this PR.

---------

Signed-off-by: BubbleCal <bubble-cal@outlook.com>
2024-12-24 10:36:20 -08:00
verma nakul ac0068b80e feat(python): add ignore_missing to the async drop_table() method (#1953)
- feat(db): add `ignore_missing` to async `drop_table` method

Fixes #1951

---------

Co-authored-by: Will Jones <willjones127@gmail.com>
2024-12-24 10:33:47 -08:00
Hezi Zisman ebac960571 feat(python): add bypass_vector_index to sync api (#1947)
Hi lancedb team,

This PR adds the `bypass_vector_index` logic to the sync API, as
described in [Issue
#535](https://github.com/lancedb/lancedb/issues/535). (Closes #535).

Iv'e implemented it only for the regular vector search. If you think it
should also be supported for FTS, Hybrid, or Empty queries and for the
cloud solution, please let me know, and I’ll be happy to extend it.

Since there’s no `CONTRIBUTING.md` or contribution guidelines, I opted
for the simplest implementation to get this started.

Looking forward to your feedback!

Thanks!

---------

Co-authored-by: Will Jones <willjones127@gmail.com>
2024-12-24 10:33:26 -08:00
Lance Release 59b57055e7 Updating package-lock.json 2024-12-19 19:40:28 +00:00
Lance Release 591c8de8fc Updating package-lock.json 2024-12-19 19:40:13 +00:00
Lance Release f835ff310f Bump version: 0.14.1-beta.5 → 0.14.1-beta.6 v0.14.1-beta.6 2024-12-19 19:39:41 +00:00
Lance Release cf8c2edaf4 Bump version: 0.17.1-beta.5 → 0.17.1-beta.6 python-v0.17.1-beta.6 2024-12-19 19:39:08 +00:00
Will Jones 61a714a459 docs: improve optimization docs (#1957)
* Add `See Also` section to `cleanup_old_files` and `compact_files` so
they know it's linked to `optimize`.
* Fixes link to `compact_files` arguments
* Improves formatting of note.
2024-12-19 10:55:11 -08:00
Will Jones 5ddd84cec0 feat: upgrade lance to 0.21.0-beta.5 (#1961) 2024-12-19 10:54:59 -08:00
Will Jones 27ef0bb0a2 ci(rust): check MSRV and upgrade toolchain (#1960)
* Upgrades our toolchain file to v1.83.0, since many dependencies now
have MSRV of 1.81.0
* Reverts Rust changes from #1946 that were working around this in a
dumb way
* Adding an MSRV check
* Reduce MSRV back to 1.78.0
2024-12-19 08:43:25 -08:00
Will Jones 25402ba6ec chore: update lockfiles (#1946) 2024-12-18 08:43:33 -08:00
Lance Release 37c359ed40 Updating package-lock.json 2024-12-13 22:38:04 +00:00
Lance Release 06cdf00987 Bump version: 0.14.1-beta.4 → 0.14.1-beta.5 v0.14.1-beta.5 2024-12-13 22:37:41 +00:00
Lance Release 144b7f5d54 Bump version: 0.17.1-beta.4 → 0.17.1-beta.5 python-v0.17.1-beta.5 2024-12-13 22:37:13 +00:00
LuQQiu edc9b9adec chore: bump Lance version to v0.21.0-beta.4 (#1939) 2024-12-13 14:36:13 -08:00
Will Jones d11b2a6975 ci: fix python beta release to publish to fury (#1937)
We have been publishing all releases--even preview ones--to PyPI. This
was because of a faulty bash if statement. This PR fixes that
conditional.
2024-12-13 14:19:14 -08:00
Will Jones 980aa70e2d feat(python): async-sync feature parity on Table (#1914)
### Changes to sync API
* Updated `LanceTable` and `LanceDBConnection` reprs
* Add `storage_options`, `data_storage_version`, and
`enable_v2_manifest_paths` to sync create table API.
* Add `storage_options` to `open_table` in sync API.
* Add `list_indices()` and `index_stats()` to sync API
* `create_table()` will now create only 1 version when data is passed.
Previously it would always create two versions: 1 to create an empty
table and 1 to add data to it.

### Changes to async API
* Add `embedding_functions` to async `create_table()` API.
* Added `head()` to async API

### Refactors
* Refactor index parameters into dataclasses so they are easier to use
from Python
* Moved most tests to use an in-memory DB so we don't need to create so
many temp directories

Closes #1792
Closes #1932

---------

Co-authored-by: Weston Pace <weston.pace@gmail.com>
2024-12-13 12:56:44 -08:00
Lance Release d83e5a0208 Updating package-lock.json 2024-12-13 05:34:30 +00:00
Lance Release 16a6b9ce8f Bump version: 0.14.1-beta.3 → 0.14.1-beta.4 v0.14.1-beta.4 2024-12-13 05:34:01 +00:00
Lance Release e3c6213333 Bump version: 0.17.1-beta.3 → 0.17.1-beta.4 python-v0.17.1-beta.4 2024-12-13 05:33:34 +00:00
Weston Pace 00552439d9 feat: upgrade lance to 0.21.0b3 (#1936) 2024-12-12 21:32:59 -08:00
QianZhu c0ee370f83 docs: improve schema evolution api examples (#1929) 2024-12-12 10:52:06 -08:00
QianZhu 17e4022045 docs: add faq to cloud doc (#1907)
Co-authored-by: Will Jones <willjones127@gmail.com>
2024-12-12 10:07:03 -08:00
BubbleCal c3ebac1a92 feat(node): support FTS options in nodejs (#1934)
Closes #1790

---------

Signed-off-by: BubbleCal <bubble-cal@outlook.com>
2024-12-12 08:19:04 -08:00
Lance Release 10f919a0a9 Updating package-lock.json 2024-12-11 19:18:36 +00:00
Lance Release 8af5476395 Bump version: 0.14.1-beta.2 → 0.14.1-beta.3 v0.14.1-beta.3 2024-12-11 19:18:17 +00:00
Lance Release bcbbeb7a00 Bump version: 0.17.1-beta.2 → 0.17.1-beta.3 python-v0.17.1-beta.3 2024-12-11 19:17:54 +00:00
Weston Pace d6c0f75078 feat: upgrade to lance prerelease 0.21.0b2 (#1933) 2024-12-11 11:17:10 -08:00
Lance Release e820e356a0 Updating package-lock.json 2024-12-11 17:58:05 +00:00
Lance Release 509286492f Bump version: 0.14.1-beta.1 → 0.14.1-beta.2 v0.14.1-beta.2 2024-12-11 17:57:41 +00:00
Lance Release f9789ec962 Bump version: 0.17.1-beta.1 → 0.17.1-beta.2 python-v0.17.1-beta.2 2024-12-11 17:57:18 +00:00