Commit Graph

1627 Commits

Author SHA1 Message Date
Lance Release b036a69300 Updating package-lock.json 2025-02-26 19:32:22 +00:00
Will Jones 5b12a47119 feat!: revert query limit to be unbounded for scans (#2151)
In earlier PRs (#1886, #1191) we made the default limit 10 regardless of
the query type. This was confusing for users and in many cases a
breaking change. Users would have queries that used to return all
results, but instead only returned the first 10, causing silent bugs.

Part of the cause was consistency: the Python sync API seems to have
always had a limit of 10, while newer APIs (Python async and Nodejs)
didn't.

This PR sets the default limit only for searches (vector search, FTS),
while letting scans (even with filters) be unbounded. It does this
consistently for all SDKs.

Fixes #1983
Fixes #1852
Fixes #2141
2025-02-26 10:32:14 -08:00
Lance Release 769d483e50 Updating package-lock.json 2025-02-26 18:16:59 +00:00
Lance Release 9ecb11fe5a Updating package-lock.json 2025-02-26 18:16:42 +00:00
Lance Release 22bd8329f3 Bump version: 0.17.0-beta.0 → 0.17.0 v0.17.0 2025-02-26 18:16:07 +00:00
Lance Release a736fad149 Bump version: 0.16.1-beta.3 → 0.17.0-beta.0 2025-02-26 18:16:01 +00:00
Lance Release 072adc41aa Bump version: 0.20.0-beta.0 → 0.20.0 python-v0.20.0 2025-02-26 18:15:23 +00:00
Lance Release c6f25ef1f0 Bump version: 0.19.1-beta.3 → 0.20.0-beta.0 2025-02-26 18:15:23 +00:00
Weston Pace 2f0c5baea2 Revert "chore: upgrade lance to v0.23.3-beta.1 (#2153)"
This reverts commit a63dd66d41.
2025-02-26 10:14:29 -08:00
BubbleCal a63dd66d41 chore: upgrade lance to v0.23.3-beta.1 (#2153)
this fixes a bug in SQ, see https://github.com/lancedb/lance/pull/3476
for more details

---------

Signed-off-by: BubbleCal <bubble-cal@outlook.com>
Co-authored-by: Lu Qiu <luqiujob@gmail.com>
2025-02-26 09:52:28 -08:00
Weston Pace d6b3ccb37b feat: upgrade lance to 0.23.2 (#2152)
This also changes the pylance pin from `==0.23.2` to `~=0.23.2` which
should allow the pylance dependency to float a little. The pylance
dependency is actually not used for much anymore and so it should be
tolerant of patch changes.
rc-0.19.1
2025-02-26 09:02:51 -08:00
Weston Pace c4f99e82e5 feat: push filters down into DF table provider (#2128) 2025-02-25 14:46:28 -08:00
andrew-pienso 979a2d3d9d docs: fixes is_open docstring on AsyncTable (#2150) 2025-02-25 09:11:25 -08:00
Will Jones 7ac5f74c80 feat!: add variable store to embeddings registry (#2112)
BREAKING CHANGE: embedding function implementations in Node need to now
call `resolveVariables()` in their constructors and should **not**
implement `toJSON()`.

This tries to address the handling of secrets. In Node, they are
currently lost. In Python, they are currently leaked into the table
schema metadata.

This PR introduces an in-memory variable store on the function registry.
It also allows embedding function definitions to label certain config
values as "sensitive", and the preprocessing logic will raise an error
if users try to pass in hard-coded values.

Closes #2110
Closes #521

---------

Co-authored-by: Weston Pace <weston.pace@gmail.com>
2025-02-24 15:52:19 -08:00
Will Jones ecdee4d2b1 feat(python): add search() method to async API (#2049)
Reviving #1966.

Closes #1938

The `search()` method can apply embeddings for the user. This simplifies
hybrid search, so instead of writing:

```python
vector_query = embeddings.compute_query_embeddings("flower moon")[0]
await (
    async_tbl.query()
    .nearest_to(vector_query)
    .nearest_to_text("flower moon")
    .to_pandas()
)
```

You can write:

```python
await (await async_tbl.search("flower moon", query_type="hybrid")).to_pandas()
```

Unfortunately, we had to do a double-await here because `search()` needs
to be async. This is because it often needs to do IO to retrieve and run
an embedding function.
2025-02-24 14:19:25 -08:00
BubbleCal f391ed828a fix: remote table doesn't apply the prefilter flag for FTS (#2145) 2025-02-24 21:37:43 +08:00
BubbleCal a99a450f2b fix: flat FTS panic with prefilter and update lance (#2144)
this is fixed in lance so upgrade lance to 0.23.2-beta1
2025-02-24 14:34:00 +08:00
Lei Xu 6fa1f37506 docs: improve pydantic integration docs (#2136)
Address usage mistakes in
https://github.com/lancedb/lancedb/issues/2135.

* Add example of how to use `LanceModel` and `Vector` decorator
* Add test for pydantic doc
* Fix the example to directly use LanceModel instead of calling
`MyModel.to_arrow_schema()` in the example.
* Add cross-reference link to pydantic doc site
* Configure mkdocs to watch code changes in python directory.
2025-02-21 12:48:37 -08:00
BubbleCal 544382df5e fix: handle batch quires in single request (#2139) 2025-02-21 13:23:39 +08:00
BubbleCal 784f00ef6d chore: update Cargo.lock (#2137) 2025-02-21 12:27:10 +08:00
Lance Release 96d7446f70 Updating package-lock.json 2025-02-20 04:51:26 +00:00
Lance Release 99ea78fb55 Updating package-lock.json 2025-02-20 03:38:44 +00:00
Lance Release 8eef4cdc28 Updating package-lock.json 2025-02-20 03:38:27 +00:00
Lance Release 0f102f02c3 Bump version: 0.16.1-beta.2 → 0.16.1-beta.3 v0.16.1-beta.3 2025-02-20 03:38:01 +00:00
Lance Release a33a0670f6 Bump version: 0.19.1-beta.2 → 0.19.1-beta.3 python-v0.19.1-beta.3 2025-02-20 03:37:27 +00:00
BubbleCal 14c9ff46d1 feat: support multivector on remote table (#2045)
Signed-off-by: BubbleCal <bubble-cal@outlook.com>
2025-02-20 11:34:51 +08:00
Lei Xu 1865f7decf fix: support optional nested pydantic model (#2130)
Closes #2129
2025-02-17 20:43:13 -08:00
BubbleCal a608621476 test: query with dist range and new rows (#2126)
we found a bug that flat KNN plan node's stats is not in right order as
fields in schema, it would cause an error if querying with distance
range and new unindexed rows.

we've fixed this in lance so add this test for verifying it works

Signed-off-by: BubbleCal <bubble-cal@outlook.com>
2025-02-17 12:57:45 +08:00
BubbleCal 00514999ff feat: upgrade lance to 0.23.1-beta.4 (#2121)
this also upgrades object_store to 0.11.0, snafu to 0.8

Signed-off-by: BubbleCal <bubble-cal@outlook.com>
2025-02-16 14:53:26 +08:00
Lance Release b3b597fef6 Updating package-lock.json 2025-02-13 04:40:10 +00:00
Lance Release bf17144591 Updating package-lock.json 2025-02-13 04:39:54 +00:00
Lance Release 09e110525f Bump version: 0.16.1-beta.1 → 0.16.1-beta.2 v0.16.1-beta.2 2025-02-13 04:39:38 +00:00
Lance Release 40f0dbb64d Bump version: 0.19.1-beta.1 → 0.19.1-beta.2 python-v0.19.1-beta.2 2025-02-13 04:39:19 +00:00
BubbleCal 3b19e96ae7 fix: panic when field id doesn't equal to field index (#2116)
Signed-off-by: BubbleCal <bubble-cal@outlook.com>
2025-02-13 12:38:35 +08:00
Will Jones 78a17ad54c chore: improve dev instructions for Python (#2088)
Closes #2042
2025-02-12 14:08:52 -08:00
Lance Release a8e6b491e2 Updating package-lock.json 2025-02-11 22:05:54 +00:00
Lance Release cea541ca46 Updating package-lock.json 2025-02-11 20:56:22 +00:00
Lance Release 873ffc1042 Updating package-lock.json 2025-02-11 20:56:05 +00:00
Lance Release 83273ad997 Bump version: 0.16.1-beta.0 → 0.16.1-beta.1 v0.16.1-beta.1 2025-02-11 20:55:43 +00:00
Lance Release d18d63c69d Bump version: 0.19.1-beta.0 → 0.19.1-beta.1 python-v0.19.1-beta.1 2025-02-11 20:55:23 +00:00
LuQQiu c3e865e8d0 fix: fix index out of bound in load indices (#2108)
panicked at 'index out of bounds: the len is 24 but the index is
25':Lancedb/rust/lancedb/src/index/vector.rs:26\n

load_indices() on the old manifest while use the newer manifest to get
column names could result in index out of bound if some columns are
removed from the new version.
This change reduce the possibility of index out of bound operation but
does not fully remove it.
Better that lance can directly provide column name info so no need extra
calls to get column name but that require modify the public APIs
2025-02-11 12:54:11 -08:00
Weston Pace a7755cb313 docs: standardize node example prints (#2080)
Minor cleanup to help debug future CI failures
2025-02-11 08:26:29 -08:00
BubbleCal 3490f3456f chore: upgrade lance to 0.23.1-beta.2 (#2109) 2025-02-11 23:57:56 +08:00
Lance Release 0a1d0693e1 Updating package-lock.json 2025-02-07 20:06:22 +00:00
Lance Release fd330b4b4b Updating package-lock.json 2025-02-07 19:28:01 +00:00
Lance Release d4e9fc08e0 Updating package-lock.json 2025-02-07 19:27:44 +00:00
Lance Release 3626f2f5e1 Bump version: 0.16.0 → 0.16.1-beta.0 v0.16.1-beta.0 2025-02-07 19:27:26 +00:00
Lance Release e64712cfa5 Bump version: 0.19.0 → 0.19.1-beta.0 python-v0.19.1-beta.0 2025-02-07 19:27:07 +00:00
Wyatt Alt 3e3118f85c feat: update lance dependency to 0.23.1-beta.1 (#2102) 2025-02-07 10:56:01 -08:00
Lance Release 592598a333 Updating package-lock.json 2025-02-07 18:50:53 +00:00