From 0ce2a89f3839bd6429d4f68fadd399a61379a094 Mon Sep 17 00:00:00 2001 From: prrao87 <35005448+prrao87@users.noreply.github.com> Date: Mon, 29 Jun 2026 11:01:54 -0400 Subject: [PATCH 1/2] docs: add LanceDB pre-release install instructions --- docs/quickstart.mdx | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/docs/quickstart.mdx b/docs/quickstart.mdx index c2ba3d85..1b9897d0 100644 --- a/docs/quickstart.mdx +++ b/docs/quickstart.mdx @@ -38,8 +38,15 @@ runs in-process (like SQLite). Let's get started in just a few steps! Install LanceDB in your client SDK. -```bash Python icon=Python -pip install lancedb # or uv add lancedb +```bash uv icon="terminal" +uv add lancedb + +# Or, in an existing virtual environment: +uv pip install lancedb +``` + +```bash pip icon="terminal" +pip install lancedb ``` ```bash TypeScript icon=js @@ -51,6 +58,31 @@ cargo add lancedb ``` +### Python pre-release builds + +Stable LanceDB releases are created about every 2 weeks. To pick up the latest features and bug fixes +before the next stable release, install a pre-release from LanceDB's Fury index. + + +```bash pip icon="terminal" +pip install --pre --extra-index-url https://pypi.fury.io/lancedb/ lancedb +``` + +```bash uv icon="terminal" +uv venv +uv pip install --prerelease allow --index https://pypi.fury.io/lancedb/ lancedb + +# To add to pyproject.toml, use: +uv add --prerelease allow --index https://pypi.fury.io/lancedb/ lancedb +``` + + + +Pre-release builds receive the same level of testing as stable releases, but are not guaranteed to +remain available for more than 6 months after release. Once your application is stable, switch back +to stable releases. + + ## 2. Connect to a LanceDB database LanceDB supports several URI patterns to connect to a database. From 131d8f82567066201640d37101188858a30c4a0b Mon Sep 17 00:00:00 2001 From: prrao87 <35005448+prrao87@users.noreply.github.com> Date: Tue, 30 Jun 2026 20:25:16 -0400 Subject: [PATCH 2/2] Refresh quickstart around AI data workflows --- docs/docs.json | 1 - docs/enterprise/architecture.mdx | 2 +- docs/enterprise/index.mdx | 64 +++- docs/enterprise/quickstart.mdx | 224 ------------ docs/index.mdx | 6 +- docs/quickstart.mdx | 282 +++++++++++---- docs/snippets/quickstart.mdx | 70 ++-- .../assets/images/quickstart/sir-lancelot.jpg | Bin 0 -> 269265 bytes docs/storage/configuration.mdx | 2 +- tests/py/test_quickstart.py | 171 +++++++-- tests/rs/quickstart.rs | 330 +++++++++++++----- tests/ts/quickstart.test.ts | 152 ++++++-- 12 files changed, 845 insertions(+), 459 deletions(-) delete mode 100644 docs/enterprise/quickstart.mdx create mode 100644 docs/static/assets/images/quickstart/sir-lancelot.jpg diff --git a/docs/docs.json b/docs/docs.json index 7d1519f7..87db70bc 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -47,7 +47,6 @@ "group": "LanceDB Enterprise", "pages": [ "enterprise/index", - "enterprise/quickstart", "enterprise/architecture", "enterprise/security", "enterprise/benchmarks", diff --git a/docs/enterprise/architecture.mdx b/docs/enterprise/architecture.mdx index c42f547c..e4c9efa5 100644 --- a/docs/enterprise/architecture.mdx +++ b/docs/enterprise/architecture.mdx @@ -81,7 +81,7 @@ A [remote table](/tables-and-namespaces#understanding-tables) is the user-facing This is why Enterprise feels familiar at the API level while operationally behaving differently. Your application still issues table operations and queries, but it is no longer coupled to a local storage path or a single host. Instead, the cluster takes responsibility for execution, coordination, and background upkeep. In SDK terms, `open_table(...)` returns a `RemoteTable`. Architecturally, a remote table is the bridge between the client-facing API and the storage-backed system behind it. -This design makes LanceDB Enterprise suitable for catalog-backed layouts, see [Namespaces and the Catalog Model](/namespaces) for more details. For the basic application flow, see the [Enterprise quickstart](/enterprise/quickstart). +This design makes LanceDB Enterprise suitable for catalog-backed layouts, see [Namespaces and the Catalog Model](/namespaces) for more details. For the basic application flow, see the shared [quickstart](/quickstart). ## Read path diff --git a/docs/enterprise/index.mdx b/docs/enterprise/index.mdx index c2cd88f1..69ae3269 100644 --- a/docs/enterprise/index.mdx +++ b/docs/enterprise/index.mdx @@ -26,7 +26,7 @@ visibility. ### 1. 100B+ row scale -LanceDB Enterprise is built for demanding workloads that exceed the capabilities of a single machine, whether that's extremely large data volumes or a high number of concurrent queries. Instead of asking your +LanceDB Enterprise is built for demanding workloads that exceed the capabilities of a single machine, whether from extremely large data volumes or a high number of concurrent queries. Instead of asking your application to own caching, query scaling, and maintenance, Enterprise turns those into **platform** capabilities. This matters when your AI application moves past a prototype and starts serving real users, larger datasets, and @@ -134,6 +134,68 @@ monitoring. Both enterprise modes are designed for private networking, complianc Read More: [LanceDB Enterprise Deployment](/enterprise/deployment/) +## Usage differences between Enterprise and OSS + +The [quickstart](/quickstart) guide shows both local embedded connections and Enterprise `db://...` +connections. Once connected to LanceDB, the table API is largely the same: create a table, search, +filter, evolve the schema, and store multimodal records. However, there are some semantic differences +worth understanding when your code is talking to LanceDB Enterprise. + +### 1. Connection model + +In LanceDB Enterprise, your app connects via a `db://...` URI and sends requests to the cluster API. +The cluster executes table operations on your behalf. Your code is coupled to a **managed service endpoint**, +whereas embedded LanceDB is directly coupled to local or object-storage paths. + +### 2. Returned table type + +Connecting to an Enterprise table via `open_table(...)` returns a `RemoteTable`, unlike embedded LanceDB, +which returns a `LanceTable`. `RemoteTable` is a catalog-backed table accessed through a server/cluster, +and does not support all the same methods as `LanceTable` (see below). + +### 3. Materialization APIs + +For Python users working with LanceDB Enterprise, `RemoteTable` does not support table-level +materialization methods like `table.to_arrow()` or `table.to_pandas()`. This protects users from +accidentally materializing tables that are too large to fit in memory. + +Instead, materialize results through query/search builders, for example +`table.search(...).limit(...).to_pandas()` or `table.query(...).to_arrow()`. For quick previews, use +`table.head()`. + +### 4. Maintenance lifecycle + +In Enterprise, maintenance operations like `optimize` and `compact_files` are handled by the cluster +as background work. You can trigger them manually, but they are not required for performance or +correctness in the same way they are in embedded LanceDB. + +That means maintenance is managed by platform behavior and cluster configuration, not by explicit +per-table maintenance calls in your application code. + +### 5. Guardrails and limits + +Enterprise can enforce platform-level guardrails, such as index/table limits and safety checks around +operations like `merge_insert` when too many rows are unindexed. Embedded LanceDB mostly exposes +storage/format-level behavior, and you tune many lifecycle tasks yourself. + +This means an operation in LanceDB Enterprise can fail due to service-level policy, not just because +of local table shape or schema mismatch. + +### 6. Cluster-managed background work + +In Enterprise, async writes and reindexing workflows are handled by cluster background systems. In +embedded LanceDB, if you want ongoing upkeep, you usually schedule and run it yourself in your +application or jobs. + +In practice, your app issues table operations, and the platform handles distributed orchestration for +maintenance and indexing in the background. + + +As a rule of thumb, all you need to remember is this: treat `db://...` as a remote service boundary, +use query builders to fetch results, and otherwise interact with your tables as you would in embedded +LanceDB. + + ## Which one should I use? [It's very simple to get started with OSS](/quickstart/): Get started with `pip install lancedb` and begin ingesting diff --git a/docs/enterprise/quickstart.mdx b/docs/enterprise/quickstart.mdx deleted file mode 100644 index cd19406b..00000000 --- a/docs/enterprise/quickstart.mdx +++ /dev/null @@ -1,224 +0,0 @@ ---- -title: "Enterprise Quickstart" -sidebarTitle: "Quickstart" -description: "Run the LanceDB quickstart workflow on a RemoteTable in LanceDB Enterprise." -icon: "rocket" ---- - -import { - PyConnectEnterpriseQuickstart, - TsConnectEnterpriseQuickstart, - RsConnectEnterpriseQuickstart, -} from '/snippets/connection.mdx'; -import { - PyQuickstartCreateTable, - PyQuickstartVectorSearch1, - PyQuickstartOpenTable, - PyQuickstartAddData, - PyQuickstartVectorSearch2, - TsQuickstartCreateTable, - TsQuickstartVectorSearch1, - TsQuickstartOpenTable, - TsQuickstartAddData, - TsQuickstartVectorSearch2, - RsQuickstartDefineStruct, - RsQuickstartCreateTable, - RsQuickstartVectorSearch1, - RsQuickstartOpenTable, - RsQuickstartAddData, - RsQuickstartVectorSearch2, -} from '/snippets/quickstart.mdx'; - -This quickstart follows a similar workflow as the [OSS quickstart](/quickstart), but uses a **`RemoteTable`** through a `db://...` connection. - - -To get a LanceDB Enterprise cluster setup and to obtain credentials and endpoint details, [contact our team](mailto:contact@lancedb.com) to get started. -This guide assumes your Enterprise cluster is already running. - - -## 1. Install LanceDB - - -```bash Python icon=Python -pip install lancedb -``` - -```bash TypeScript icon=js -npm install @lancedb/lancedb -``` - -```bash Rust icon=Rust -cargo add lancedb -``` - - -## 2. Connect to Enterprise (`db://...`) - - - - { "import lancedb\n\n" } - {PyConnectEnterpriseQuickstart} - - - - { "import * as lancedb from \"@lancedb/lancedb\";\n\n" } - {TsConnectEnterpriseQuickstart} - - - - { "use lancedb::connect;\n\n" } - {RsConnectEnterpriseQuickstart} - - - -## 3. Create a table (same sample data as the OSS quickstart) - - - - {PyQuickstartCreateTable} - - - - {TsQuickstartCreateTable} - - - - {RsQuickstartDefineStruct} - {RsQuickstartCreateTable} - - - -## 4. Run vector search - - - - {PyQuickstartVectorSearch1} - - - - {TsQuickstartVectorSearch1} - - - - {RsQuickstartVectorSearch1} - - - -## 5. Open table, add data, and query again - - - - {PyQuickstartOpenTable} - {PyQuickstartAddData} - {PyQuickstartVectorSearch2} - - - - {TsQuickstartOpenTable} - {TsQuickstartAddData} - {TsQuickstartVectorSearch2} - - - - { "use lancedb::table::Table;\n\n" } - {RsQuickstartOpenTable} - {RsQuickstartAddData} - {RsQuickstartVectorSearch2} - - - -## Differences between Enterprise and OSS usage - -As can be seen, the flow for working with a `RemoteTable` in Enterprise looks more or less -similar to the [OSS quickstart](/quickstart). However, there are some semantic differences: - -### 1. Connection model - -In LanceDB Enterprise, your app connects via a `db://...` URI and sends requests to the cluster API. The cluster executes table operations on your behalf. -Your code is coupled to a **managed service endpoint** (whereas in OSS, your code is directly coupled to storage paths). - -### 2. Returned table type - -Connecting to an Enterprise table via `open_table(...)` returns a `RemoteTable`, unlike in OSS, which returns a `LanceTable`. - -### 3. Materialization APIs - -For Python users working with LanceDB Enterprise, `RemoteTable` does not support table-level -materialization methods like `table.to_arrow()` or `table.to_pandas()`. This is to protect -users from accidentally materializing tables that are too large to fit in memory. - -Instead, you materialize results through query/search builders, for example `table.search(...).limit(...).to_pandas()` or `table.query(...).to_arrow()`. For quick previews, you can use `table.head()`. - -### 4. Maintenance lifecycle - -In Enterprise, maintenance operations like `optimize`, `compact_files` are handled by the cluster as background work. You can trigger them manually, but they are not required for performance or correctness in the same way they are in OSS. - -That means maintenance is managed by platform behavior and cluster configuration, not by explicit per-table maintenance calls in your application code. - -### 5. Guardrails and limits - -Enterprise can enforce platform-level guardrails, such as index/table limits and safety checks around operations like `merge_insert` when too many rows are unindexed. OSS mostly exposes storage/format-level behavior, and you tune many lifecycle tasks yourself. - -This means an operation in LanceDB Enterprise can fail due to service-level policy, not just because of local table shape or schema mismatch. - -### 6. Cluster-managed background work - -In Enterprise, async writes and reindexing workflows are handled by cluster background systems. In OSS, if you want ongoing upkeep, you usually schedule and run it yourself in your application or jobs. - -In practice, your app issues table operations, and the platform handles distributed orchestration for maintenance and indexing in the background. - - -As a rule of thumb, all you need to remember with regard to LanceDB Enterprise is this: treat `db://...` as a remote service boundary, use query builders to fetch results, and otherwise interact with your tables as you would in OSS.** - - -## Advanced usage via namespace-backed connections - -LanceDB Enterprise also supports namespace-backed catalog connections. This allows you to resolve tables by namespace, rather than by direct URI, and is accessed via the REST connection mode of `connect_namespace(...)`. This is useful when table location resolution and credential vending are handled by an external catalog/namespace service. - -```py Python icon=Python -import os -import lancedb - -ns_db = lancedb.connect_namespace( - "rest", - { - "uri": "https://", - "headers.Authorization": f"Bearer {os.environ['CATALOG_TOKEN']}", - }, -) - -# Namespace-scoped table resolution -table = ns_db.open_table("adventurers", namespace=["prod", "search"]) -``` - -This mode is useful when table location resolution and credential vending are handled by an external catalog/namespace service. - -If you want to stick to a common table flow, start with the `db://` RemoteTable flow shown above. - -## Further reading - -You can learn more about table operations, namespaces, and the architecture of LanceDB Enterprise in the following guides. - - - - Build on this quickstart with table creation, updates, and schema tips. - - - Learn how to use namespaces in LanceDB, and connect to an Enterprise namespace via REST. - - - Learn about the architecture of LanceDB Enterprise and how it achieves high performance at scale. - - \ No newline at end of file diff --git a/docs/index.mdx b/docs/index.mdx index c9cf4f75..2dcd73d6 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -90,7 +90,7 @@ for agents. Start here: href="/quickstart" > Get started with LanceDB in minutes. - + - Get started with LanceDB Enterprise in minutes. + Get started with LanceDB in minutes, including Enterprise `db://` connections. diff --git a/docs/quickstart.mdx b/docs/quickstart.mdx index 1b9897d0..8bcac2c7 100644 --- a/docs/quickstart.mdx +++ b/docs/quickstart.mdx @@ -18,26 +18,49 @@ import { TsConnectObjectStorage, } from '/snippets/connection.mdx'; import { + PyQuickstartData, PyQuickstartCreateTable, PyQuickstartCreateTableAsync, + PyQuickstartAddFeature, + PyQuickstartCurateWithMetadata, + PyQuickstartMultimodalBytes, + PyQuickstartQueryFeature, PyQuickstartVectorSearch1, PyQuickstartVectorSearch1Async, PyQuickstartOutputPandas, + RsQuickstartAddFeature, + RsQuickstartCurateWithMetadata, RsQuickstartCreateTable, + RsQuickstartData, RsQuickstartDefineStruct, + RsQuickstartMultimodalBytes, + RsQuickstartQueryFeature, RsQuickstartVectorSearch1, + TsQuickstartAddFeature, + TsQuickstartCurateWithMetadata, TsQuickstartCreateTable, + TsQuickstartData, + TsQuickstartMultimodalBytes, + TsQuickstartQueryFeature, TsQuickstartVectorSearch1, } from '/snippets/quickstart.mdx'; -The easiest way to get started with LanceDB is the open source version, which is an embedded database that -runs in-process (like SQLite). Let's get started in just a few steps! +As described in [the landing page](/), LanceDB provides one data layer for +curation, feature engineering, search and retrieval, and model training. Whether you are preparing +training data, building a RAG or agentic retrieval system, reviewing examples, or adding model-generated +features, you'll work with the same underlying table and search primitives. + +Let's get started in just a few steps! ## 1. Install LanceDB Install LanceDB in your client SDK. +```bash pip icon="terminal" +pip install lancedb +``` + ```bash uv icon="terminal" uv add lancedb @@ -45,10 +68,6 @@ uv add lancedb uv pip install lancedb ``` -```bash pip icon="terminal" -pip install lancedb -``` - ```bash TypeScript icon=js npm install @lancedb/lancedb ``` @@ -60,7 +79,7 @@ cargo add lancedb ### Python pre-release builds -Stable LanceDB releases are created about every 2 weeks. To pick up the latest features and bug fixes +To pick up the latest features and bug fixes before the next stable release, install a pre-release from LanceDB's Fury index. @@ -78,9 +97,9 @@ uv add --prerelease allow --index https://pypi.fury.io/lancedb/ lancedb -Pre-release builds receive the same level of testing as stable releases, but are not guaranteed to -remain available for more than 6 months after release. Once your application is stable, switch back -to stable releases. +Pre-release builds receive the same level of testing as stable releases, but their availability is not guaranteed +for more than 6 months after release. For real-world workloads, we recommend you use the latest stable release +as far as possible. ## 2. Connect to a LanceDB database @@ -89,12 +108,12 @@ LanceDB supports several URI patterns to connect to a database. - A local filesystem path (when using it as an embedded library) - A `db://...` URI (when using LanceDB Enterprise) -- An object storage URI: `s3://...`, `gs://...`, or `az://...` (OSS mode) +- An object storage URI: `s3://...`, `gs://...`, or `az://...` (when connecting directly from the client SDK) -### Connect via local path with LanceDB +### Connect via local directory path -The simplest way to begin is to use LanceDB OSS. Simply import LanceDB as an embedded library in your -client SDK of choice and point to a local path. +The simplest way to begin is to use LanceDB as an embedded library. Import LanceDB in your +client SDK of choice and point to a local directory path. @@ -119,7 +138,7 @@ client SDK of choice and point to a local path. ### Connect via object storage URIs -You can also connect LanceDB OSS directly to object storage: +You can also connect directly to object storage from the client SDK: @@ -144,9 +163,9 @@ For credentials, endpoints, and provider-specific options, see ### Connect to LanceDB Enterprise -If you're using LanceDB Enterprise, you can connect using a `db://` URI along -with the API key, region, and cluster endpoint you received from the LanceDB -team. Pass the cluster endpoint via `host_override` so the client routes +If you're using LanceDB Enterprise, you can connect to the remote database using the +`db://` URI along with the API key, region, and cluster endpoint you received from the +LanceDB team. Pass the cluster endpoint via `host_override` so the client routes requests to your deployment. @@ -169,25 +188,57 @@ requests to your deployment. `host_override` is the full URL of your cluster endpoint, including the scheme (`https://`) and a port if your deployment listens on a non-default one -(e.g. `https://your-enterprise-endpoint.com:443`). If you don't know the +(e.g. `https://your-enterprise-endpoint.com:443`). If you don't have the endpoint, [contact the LanceDB team](mailto:contact@lancedb.com). -For a walkthrough on how to use LanceDB Enterprise (including `RemoteTable` -semantics), see its [quickstart](/enterprise/quickstart). To learn -more about LanceDB Enterprise overall, see the -[Enterprise documentation](/enterprise). +To learn more about `RemoteTable` semantics and how Enterprise differs operationally from +embedded LanceDB, see the [Enterprise overview](/enterprise). -## 3. Obtain data and ingest into LanceDB +## 3. Create a new table -Let's look at an example. We have the following records of characters in an adventure board game. -The vector column holds 3-dimensional embeddings representing each character. +Let's create a small table of characters from the kingdom of Camelot. Each row stores source text, +metadata, structured fields, and a vector embedding in the same LanceDB table. -To ingest the data into LanceDB, obtain data of the required shape -and pass in the data object to the `create_table` method as shown below. -Note that LanceDB tables require a schema. If you don't provide one, LanceDB -will infer it from the data. For the Rust snippet, you can find the helper functions in the -[code](https://github.com/lancedb/docs/blob/main/tests/rs/quickstart.rs). + +The embeddings we use in this example are synthetic and for demonstration purposes only. In a real AI +data workflow, you would generate them from text, images, audio, or video using an embedding model of choice. + + +Each row has source text, metadata, structured fields, and a vector: + +```json +{ + "id": "2", + "name": "Merlin", + "role": "Wizard", + "description": "Advisor and prophet with deep magical knowledge.", + "stats": { "strength": 2, "magic": 5, "leadership": 4, "wisdom": 5 }, + "vector": [0.2, 0.9, 0.4, 0.9] +} +``` + +The full raw records are included below: + + + + + {PyQuickstartData} + + + + {TsQuickstartData} + + + + {RsQuickstartDefineStruct} + {RsQuickstartData} + + + + +You can now create a LanceDB table from those records. The code below creates a LanceDB table +with the appropriate schema and ingests the data. @@ -203,25 +254,19 @@ will infer it from the data. For the Rust snippet, you can find the helper funct - {RsQuickstartDefineStruct} {RsQuickstartCreateTable} - -The `vector` arrays here are synthetic and for demonstration purposes only. In your real-world -applications, you'd generate these vectors from the raw text fields using a suitable embedding model. - - -## 4. Run a vector similarity search +## 4. Semantic search -Now, let's perform a vector similarity search. The query vector should have the same -dimensionality as your data vectors and be generated using the same embedding model. -The search returns the most similar vectors based on a chosen distance metric (default is L2, -or Euclidean distance). +Search is a useful capability for all kinds of AI data pipelines. Below, we do a vector similarity +search for samples similar to a "_wise magical advisor_" (transforming the natural language query to +an embedding), and project only the columns needed by the next step. -Our query is a vector that represents a "warrior". Let's find the result that's most similar -to it! +Search (which requires random access) is a ubiquitous access pattern that appears in many workloads: +whether you're building a RAG or recommendation system, serving agent memory, or curating a training +dataset. @@ -252,28 +297,133 @@ to be used downstream in your application. - +## 5. Curation + +Searching for relevant results can be more useful when combined with metadata filters. +In this tiny example, we filter to examples with high `magic` stats. + + + + {PyQuickstartCurateWithMetadata} + + + + {TsQuickstartCurateWithMetadata} + + + + {RsQuickstartCurateWithMetadata} + + + +When working with large datasets, it's common to use the same pattern to filter on quality labels, +train/eval splits, numeric fields, categorical values, timestamp windows, or generated tags and labels. + +## 6. Add a derived feature + +Feature engineering is the process of cleaning up your data and creating new signals that +help your model learn, make better predictions, or your agent retrieve more useful information. +In the example below, we add a `power_score` column from the structured `stats` fields. +Lance supports data evolution, so you can add new columns without rewriting the entire table. + + + + {PyQuickstartAddFeature} + + + + {TsQuickstartAddFeature} + + + + { "use lancedb::table::NewColumnTransform;\n\n" } + {RsQuickstartAddFeature} + + + +Next, you can query a compact view of the new feature: + + + + {PyQuickstartQueryFeature} + + + + {TsQuickstartQueryFeature} + + + + {RsQuickstartQueryFeature} + + + +| name | role | power_score | +| --- | --- | --- | +| King Arthur | King | 3.5 | +| Merlin | Wizard | 4.0 | +| Sir Lancelot | Knight | 3.0 | + +The same workflow is used for data preparation tasks when adding derived features, cached model signals, review scores, or dataset +quality indicators. + +## 7. Store multimodal data + +Multimodal data is a first-class citizen in LanceDB. Binary data (image, audio, video, etc.) is +stored as blobs or inline Arrow binary types in a LanceDB column, and they benefit from the same +table operations and data versioning semantics as other data types. All the data is governed +in the same table, so you can search, filter, and retrieve multimodal records together with structured +fields, metadata, and embeddings. + +In this example, the +[`lancedb/magical_kingdom`](https://huggingface.co/datasets/lancedb/magical_kingdom) dataset stores +character images, descriptions, structured stats, image embeddings, and text embeddings together. + +Say we downloaded the image for Sir Lancelot from that dataset locally. You can read the image bytes +in your client SDK and store them in a LanceDB column. The image bytes can be used for downstream tasks +like retrieval, evaluation, or training. + +
+ Sir Lancelot from the lancedb/magical_kingdom dataset +
+ +These snippets load the local image file and store the bytes in an `image` column: + + + + {PyQuickstartMultimodalBytes} + + + + {TsQuickstartMultimodalBytes} + + + + {RsQuickstartMultimodalBytes} + + + +For more examples, see the [multimodal data](/tables/multimodal) section. + +## Code + See the full code for these examples (including helper functions) in the `quickstart` file for the appropriate client language in the -[files provided here](https://github.com/lancedb/docs/tree/main/tests). -
+[files provided in the repo](https://github.com/lancedb/docs/tree/main/tests). ## What's next? -You've learned how to install LanceDB, connect, create a table, and run a first -vector search. In the real world, embeddings capture meaning and vector search -allows you to find the most relevant data based on semantic similarity. - -Note that LanceDB is much more than "just a vector database" -- it's -[a multimodal lakehouse](https://lancedb.com/blog/multimodal-lakehouse/). -There's a lot more you can do with it! Continue -to the [Table management](/tables/) guide to build on -this example with schema options, appending data, updates, and versioning. +You've learned how to install LanceDB, connect, create one table for AI data, retrieve related +examples, curate with metadata, add a derived feature, and represent multimodal records. These same +primitives apply across the AI data lifecycle, from data preparation and feature engineering to +retrieval, evaluation, and training. -As you explore LanceDB further, you can combine vector search with other techniques like filtering based -on metadata fields, full-text search, hybrid search, and more. Check out the tutorials -and guides below to continue learning. +Continue to the table and search guides to build on this example with schema options, appends, +updates, versioning, indexing, full-text search, hybrid search, and reranking. Learn how to build Retrieval-Augmented Generation (RAG) applications using LanceDB. + + Create vector, full-text, and scalar indexes to speed up queries on larger datasets. + + + Use LanceDB for projected, shuffled, random-access reads in training workflows. + diff --git a/docs/snippets/quickstart.mdx b/docs/snippets/quickstart.mdx index bd817e66..810a0c0b 100644 --- a/docs/snippets/quickstart.mdx +++ b/docs/snippets/quickstart.mdx @@ -1,50 +1,76 @@ {/* Auto-generated by scripts/mdx_snippets_gen.py. Do not edit manually. */} -export const PyQuickstartAddData = "more_data = [\n {\"id\": \"7\", \"text\": \"mage\", \"vector\": [0.6, 0.3, 0.4]},\n {\"id\": \"8\", \"text\": \"bard\", \"vector\": [0.3, 0.8, 0.4]},\n]\n\n# Add data to table\ntable.add(more_data)\n"; +export const PyQuickstartAddData = "more_data = [\n {\n \"id\": \"4\",\n \"name\": \"Morgana\",\n \"role\": \"Sorceress\",\n \"description\": \"Powerful sorceress of Avalon.\",\n \"stats\": {\"strength\": 2, \"magic\": 5, \"leadership\": 4, \"wisdom\": 4},\n \"vector\": [0.3, 0.9, 0.6, 0.8],\n \"power_score\": 3.75,\n },\n]\n\n# Add data to table\ntable.add(more_data)\n"; -export const PyQuickstartCreateTable = "data = [\n {\"id\": \"1\", \"text\": \"knight\", \"vector\": [0.9, 0.4, 0.8]},\n {\"id\": \"2\", \"text\": \"ranger\", \"vector\": [0.8, 0.4, 0.7]},\n {\"id\": \"9\", \"text\": \"priest\", \"vector\": [0.6, 0.2, 0.6]},\n {\"id\": \"4\", \"text\": \"rogue\", \"vector\": [0.7, 0.4, 0.7]},\n]\ntable = db.create_table(\"adventurers\", data=data, mode=\"overwrite\")\n"; +export const PyQuickstartAddFeature = "table.add_columns(\n {\n \"power_score\": \"cast(((stats.strength + stats.magic + stats.leadership + stats.wisdom) / 4.0) as float)\"\n }\n)\n"; -export const PyQuickstartCreateTableAsync = "async_table = await async_db.create_table(\n \"adventurers\",\n data=data,\n mode=\"overwrite\",\n)\n"; +export const PyQuickstartCreateTable = "table = db.create_table(\"characters\", data=data, mode=\"overwrite\")\n"; -export const PyQuickstartCreateTableNoOverwrite = "table = db.create_table(\"adventurers\", data=data)\n"; +export const PyQuickstartCreateTableAsync = "async_table = await async_db.create_table(\n \"characters\",\n data=data,\n mode=\"overwrite\",\n)\n"; -export const PyQuickstartOpenTable = "table = db.open_table(\"adventurers\")\n"; +export const PyQuickstartCreateTableNoOverwrite = "table = db.create_table(\"characters\", data=data)\n"; + +export const PyQuickstartCurateWithMetadata = "curated = (\n table.search(query_vector)\n .where(\"stats.magic >= 4\")\n .select([\"name\", \"role\", \"description\", \"_distance\"])\n .limit(2)\n .to_polars()\n)\nprint(curated)\n"; + +export const PyQuickstartData = "data = [\n {\n \"id\": \"1\",\n \"name\": \"King Arthur\",\n \"role\": \"King\",\n \"description\": \"Leader of Camelot and wielder of Excalibur.\",\n \"stats\": {\"strength\": 4, \"magic\": 1, \"leadership\": 5, \"wisdom\": 4},\n \"vector\": [0.7, 0.1, 0.9, 0.7],\n },\n {\n \"id\": \"2\",\n \"name\": \"Merlin\",\n \"role\": \"Wizard\",\n \"description\": \"Advisor and prophet with deep magical knowledge.\",\n \"stats\": {\"strength\": 2, \"magic\": 5, \"leadership\": 4, \"wisdom\": 5},\n \"vector\": [0.2, 0.9, 0.4, 0.9],\n },\n {\n \"id\": \"3\",\n \"name\": \"Sir Lancelot\",\n \"role\": \"Knight\",\n \"description\": \"Legendary knight known for courage and combat skill.\",\n \"stats\": {\"strength\": 5, \"magic\": 1, \"leadership\": 3, \"wisdom\": 3},\n \"vector\": [0.9, 0.1, 0.5, 0.4],\n },\n]\n"; + +export const PyQuickstartDataAsync = "data = [\n {\n \"id\": \"1\",\n \"name\": \"King Arthur\",\n \"role\": \"King\",\n \"description\": \"Leader of Camelot and wielder of Excalibur.\",\n \"stats\": {\"strength\": 4, \"magic\": 1, \"leadership\": 5, \"wisdom\": 4},\n \"vector\": [0.7, 0.1, 0.9, 0.7],\n },\n {\n \"id\": \"2\",\n \"name\": \"Merlin\",\n \"role\": \"Wizard\",\n \"description\": \"Advisor and prophet with deep magical knowledge.\",\n \"stats\": {\"strength\": 2, \"magic\": 5, \"leadership\": 4, \"wisdom\": 5},\n \"vector\": [0.2, 0.9, 0.4, 0.9],\n },\n {\n \"id\": \"3\",\n \"name\": \"Sir Lancelot\",\n \"role\": \"Knight\",\n \"description\": \"Legendary knight known for courage and combat skill.\",\n \"stats\": {\"strength\": 5, \"magic\": 1, \"leadership\": 3, \"wisdom\": 3},\n \"vector\": [0.9, 0.1, 0.5, 0.4],\n },\n]\n"; + +export const PyQuickstartMultimodalBytes = "from pathlib import Path\n\nimage_path = Path(\"docs/static/assets/images/quickstart/sir-lancelot.jpg\")\nimage_bytes = image_path.read_bytes()\n\nmultimodal_table = db.create_table(\n \"character_images\",\n data=[\n {\n \"id\": \"lancelot\",\n \"description\": \"Portrait of Sir Lancelot\",\n \"image\": image_bytes,\n \"vector\": [0.9, 0.1, 0.5, 0.4],\n }\n ],\n mode=\"overwrite\",\n)\n"; + +export const PyQuickstartOpenTable = "table = db.open_table(\"characters\")\n"; export const PyQuickstartOutputPandas = "# Ensure you run `pip install pandas` beforehand\nresult = table.search(query_vector).limit(2).to_pandas()\nprint(result)\n"; -export const PyQuickstartVectorSearch1 = "# Let's search for vectors similar to \"warrior\"\nquery_vector = [0.8, 0.3, 0.8]\n\n# Ensure you run `pip install polars` beforehand\nresult = table.search(query_vector).limit(2).to_polars()\nprint(result)\n"; +export const PyQuickstartQueryFeature = "features = table.search().select([\"name\", \"role\", \"power_score\"]).to_polars()\nprint(features)\n"; + +export const PyQuickstartVectorSearch1 = "# Search for examples similar to a \"wise magical advisor\"\nquery_vector = [0.2, 0.8, 0.4, 0.9]\n\n# Ensure you run `pip install polars` beforehand\nresult = (\n table.search(query_vector)\n .select([\"name\", \"role\", \"description\", \"_distance\"])\n .limit(2)\n .to_polars()\n)\nprint(result)\n"; + +export const PyQuickstartVectorSearch1Async = "# Search for examples similar to a \"wise magical advisor\"\nquery_vector = [0.2, 0.8, 0.4, 0.9]\n\n# Ensure you run `pip install polars` beforehand\nasync_result = await (\n await async_table.search(query_vector)\n).select([\"name\", \"role\", \"description\", \"_distance\"]).limit(2).to_polars()\nprint(async_result)\n"; -export const PyQuickstartVectorSearch1Async = "# Let's search for vectors similar to \"warrior\"\nquery_vector = [0.8, 0.3, 0.8]\n\n# Ensure you run `pip install polars` beforehand\nasync_result = await (await async_table.search(query_vector)).limit(2).to_polars()\nprint(async_result)\n"; +export const PyQuickstartVectorSearch2 = "# Search for examples similar to a \"powerful sorceress\"\nquery_vector = [0.3, 0.9, 0.6, 0.8]\n\nresults = table.search(query_vector).limit(2).to_polars()\nprint(results)\n"; -export const PyQuickstartVectorSearch2 = "# Let's search for vectors similar to \"wizard\"\nquery_vector = [0.7, 0.3, 0.5]\n\nresults = table.search(query_vector).limit(2).to_polars()\nprint(results)\n"; +export const TsQuickstartAddData = "const moreData = [\n {\n id: \"4\",\n name: \"Morgana\",\n role: \"Sorceress\",\n description: \"Powerful sorceress of Avalon.\",\n stats: { strength: 2, magic: 5, leadership: 4, wisdom: 4 },\n vector: [0.3, 0.9, 0.6, 0.8],\n power_score: 3.75,\n },\n];\n\n// Add data to table\nawait table.add(moreData);\n"; -export const TsQuickstartAddData = "const moreData = [\n { id: \"7\", text: \"mage\", vector: [0.6, 0.3, 0.4] },\n { id: \"8\", text: \"bard\", vector: [0.3, 0.8, 0.4] },\n];\n\n// Add data to table\nawait table.add(moreData);\n"; +export const TsQuickstartAddFeature = "await table.addColumns([\n {\n name: \"power_score\",\n valueSql:\n \"cast(((stats.strength + stats.magic + stats.leadership + stats.wisdom) / 4.0) as float)\",\n },\n]);\n"; -export const TsQuickstartCreateTable = "const data = [\n { id: \"1\", text: \"knight\", vector: [0.9, 0.4, 0.8] },\n { id: \"2\", text: \"ranger\", vector: [0.8, 0.4, 0.7] },\n { id: \"9\", text: \"priest\", vector: [0.6, 0.2, 0.6] },\n { id: \"4\", text: \"rogue\", vector: [0.7, 0.4, 0.7] },\n];\nlet table = await db.createTable(\"adventurers\", data, { mode: \"overwrite\" });\n"; +export const TsQuickstartCreateTable = "let table = await db.createTable(\"characters\", data, { mode: \"overwrite\" });\n"; -export const TsQuickstartCreateTableNoOverwrite = "table = await db.createTable(\"adventurers\", data);\n"; +export const TsQuickstartCreateTableNoOverwrite = "table = await db.createTable(\"characters\", data);\n"; -export const TsQuickstartOpenTable = "table = await db.openTable(\"adventurers\");\n"; +export const TsQuickstartCurateWithMetadata = "const curated = await table\n .search(queryVector)\n .where(\"stats.magic >= 4\")\n .select([\"name\", \"role\", \"description\", \"_distance\"])\n .limit(2)\n .toArray();\nconsole.table(curated);\n"; + +export const TsQuickstartData = "const data = [\n {\n id: \"1\",\n name: \"King Arthur\",\n role: \"King\",\n description: \"Leader of Camelot and wielder of Excalibur.\",\n stats: { strength: 4, magic: 1, leadership: 5, wisdom: 4 },\n vector: [0.7, 0.1, 0.9, 0.7],\n },\n {\n id: \"2\",\n name: \"Merlin\",\n role: \"Wizard\",\n description: \"Advisor and prophet with deep magical knowledge.\",\n stats: { strength: 2, magic: 5, leadership: 4, wisdom: 5 },\n vector: [0.2, 0.9, 0.4, 0.9],\n },\n {\n id: \"3\",\n name: \"Sir Lancelot\",\n role: \"Knight\",\n description: \"Legendary knight known for courage and combat skill.\",\n stats: { strength: 5, magic: 1, leadership: 3, wisdom: 3 },\n vector: [0.9, 0.1, 0.5, 0.4],\n },\n];\n"; + +export const TsQuickstartMultimodalBytes = "const arrow = await import(\"apache-arrow\");\nconst path = await import(\"node:path\");\nconst { readFile } = await import(\"node:fs/promises\");\n\nconst imagePath = path.resolve(\n \"../../docs/static/assets/images/quickstart/sir-lancelot.jpg\",\n);\nconst imageBytes = await readFile(imagePath);\nconst imageSchema = new arrow.Schema([\n new arrow.Field(\"id\", new arrow.Utf8()),\n new arrow.Field(\"description\", new arrow.Utf8()),\n new arrow.Field(\"image\", new arrow.Binary()),\n new arrow.Field(\n \"vector\",\n new arrow.FixedSizeList(\n 4,\n new arrow.Field(\"item\", new arrow.Float32(), true),\n ),\n ),\n]);\nconst imageData = lancedb.makeArrowTable(\n [\n {\n id: \"lancelot\",\n description: \"Portrait of Sir Lancelot\",\n image: imageBytes,\n vector: [0.9, 0.1, 0.5, 0.4],\n },\n ],\n { schema: imageSchema },\n);\nconst multimodalTable = await db.createTable(\n \"character_images\",\n imageData,\n { mode: \"overwrite\" },\n);\n"; + +export const TsQuickstartOpenTable = "table = await db.openTable(\"characters\");\n"; export const TsQuickstartOutputArray = "result = await table.search(queryVector).limit(2).toArray();\nconsole.table(result);\n"; -export const TsQuickstartVectorSearch1 = "// Let's search for vectors similar to \"warrior\"\nlet queryVector = [0.8, 0.3, 0.8];\n\nlet result = await table.search(queryVector).limit(2).toArray();\nconsole.table(result);\n"; +export const TsQuickstartQueryFeature = "const features = await table\n .query()\n .select([\"name\", \"role\", \"power_score\"])\n .toArray();\nconsole.table(features);\n"; + +export const TsQuickstartVectorSearch1 = "// Search for examples similar to a \"wise magical advisor\"\nlet queryVector = [0.2, 0.8, 0.4, 0.9];\n\nlet result = await table\n .search(queryVector)\n .select([\"name\", \"role\", \"description\", \"_distance\"])\n .limit(2)\n .toArray();\nconsole.table(result);\n"; + +export const TsQuickstartVectorSearch2 = "// Search for examples similar to a \"powerful sorceress\"\nqueryVector = [0.3, 0.9, 0.6, 0.8];\n\nconst results = await table.search(queryVector).limit(2).toArray();\nconsole.table(results);\n"; + +export const RsQuickstartAddFeature = "table\n .add_columns(\n NewColumnTransform::SqlExpressions(vec![(\n \"power_score\".to_string(),\n \"cast(((stats.strength + stats.magic + stats.leadership + stats.wisdom) / 4.0) as float)\"\n .to_string(),\n )]),\n None,\n )\n .await\n .unwrap();\n"; -export const TsQuickstartVectorSearch2 = "// Let's search for vectors similar to \"wizard\"\nqueryVector = [0.7, 0.3, 0.5];\n\nconst results = await table.search(queryVector).limit(2).toArray();\nconsole.table(results);\n"; +export const RsQuickstartCreateTable = "let schema = characters_schema();\nlet table = db\n .create_table(\"characters\", characters_to_reader(schema.clone(), &data))\n .mode(CreateTableMode::Overwrite)\n .execute()\n .await\n .unwrap();\n"; -export const RsQuickstartAddData = "let more_data = vec![\n Adventurer {\n id: \"7\".to_string(),\n text: \"mage\".to_string(),\n vector: [0.6, 0.3, 0.4],\n },\n Adventurer {\n id: \"8\".to_string(),\n text: \"bard\".to_string(),\n vector: [0.3, 0.8, 0.4],\n },\n];\n\n// Add data to table\ntable\n .add(adventurers_to_reader(schema.clone(), &more_data))\n .execute()\n .await\n .unwrap();\n"; +export const RsQuickstartCreateTableNoOverwrite = "let table = db\n .create_table(\"characters\", characters_to_reader(schema.clone(), &data))\n .execute()\n .await\n .unwrap();\n"; -export const RsQuickstartCreateTable = "// Define an arrow schema named adventurers_schema beforehand (omitted here for brevity)\nlet schema = adventurers_schema();\nlet data = vec![\n Adventurer {\n id: \"1\".to_string(),\n text: \"knight\".to_string(),\n vector: [0.9, 0.4, 0.8],\n },\n Adventurer {\n id: \"2\".to_string(),\n text: \"ranger\".to_string(),\n vector: [0.8, 0.4, 0.7],\n },\n Adventurer {\n id: \"9\".to_string(),\n text: \"priest\".to_string(),\n vector: [0.6, 0.2, 0.6],\n },\n Adventurer {\n id: \"4\".to_string(),\n text: \"rogue\".to_string(),\n vector: [0.7, 0.4, 0.7],\n },\n];\n// Create a new table with the data, overwriting if it already exists\nlet mut table = db\n .create_table(\"adventurers\", adventurers_to_reader(schema.clone(), &data))\n .mode(CreateTableMode::Overwrite)\n .execute()\n .await\n .unwrap();\n"; +export const RsQuickstartCurateWithMetadata = "let curated: DataFrame = table\n .query()\n .nearest_to(&query_vector)\n .unwrap()\n .only_if(\"stats.magic >= 4\")\n .select(Select::Columns(vec![\n \"name\".to_string(),\n \"role\".to_string(),\n \"description\".to_string(),\n \"_distance\".to_string(),\n ]))\n .limit(2)\n .execute()\n .await\n .unwrap()\n .into_polars()\n .await\n .unwrap();\nprintln!(\"{curated:?}\");\n"; -export const RsQuickstartCreateTableNoOverwrite = "table = db\n .create_table(\"adventurers\", adventurers_to_reader(schema.clone(), &data))\n .execute()\n .await\n .unwrap();\n"; +export const RsQuickstartData = "let data = vec![\n Character {\n id: \"1\".to_string(),\n name: \"King Arthur\".to_string(),\n role: \"King\".to_string(),\n description: \"Leader of Camelot and wielder of Excalibur.\".to_string(),\n stats: Stats {\n strength: 4,\n magic: 1,\n leadership: 5,\n wisdom: 4,\n },\n vector: [0.7, 0.1, 0.9, 0.7],\n },\n Character {\n id: \"2\".to_string(),\n name: \"Merlin\".to_string(),\n role: \"Wizard\".to_string(),\n description: \"Advisor and prophet with deep magical knowledge.\".to_string(),\n stats: Stats {\n strength: 2,\n magic: 5,\n leadership: 4,\n wisdom: 5,\n },\n vector: [0.2, 0.9, 0.4, 0.9],\n },\n Character {\n id: \"3\".to_string(),\n name: \"Sir Lancelot\".to_string(),\n role: \"Knight\".to_string(),\n description: \"Legendary knight known for courage and combat skill.\".to_string(),\n stats: Stats {\n strength: 5,\n magic: 1,\n leadership: 3,\n wisdom: 3,\n },\n vector: [0.9, 0.1, 0.5, 0.4],\n },\n];\n"; -export const RsQuickstartDefineStruct = "// Define a struct representing the data schema\n#[derive(Debug, Clone, Serialize, Deserialize)]\nstruct Adventurer {\n id: String,\n text: String,\n vector: [f32; 3],\n}\n\nfn adventurers_schema() -> Arc {\n Arc::new(Schema::new(vec![\n Field::new(\"id\", DataType::LargeUtf8, false),\n Field::new(\"text\", DataType::LargeUtf8, false),\n Field::new(\n \"vector\",\n DataType::FixedSizeList(Arc::new(Field::new(\"item\", DataType::Float32, true)), 3),\n false,\n ),\n ]))\n}\n"; +export const RsQuickstartDefineStruct = "// Define structs representing the data schema\n#[derive(Debug, Clone, Serialize, Deserialize)]\nstruct Stats {\n strength: i8,\n magic: i8,\n leadership: i8,\n wisdom: i8,\n}\n\n#[derive(Debug, Clone, Serialize, Deserialize)]\nstruct Character {\n id: String,\n name: String,\n role: String,\n description: String,\n stats: Stats,\n vector: [f32; 4],\n}\n\nfn characters_schema() -> Arc {\n Arc::new(Schema::new(vec![\n Field::new(\"id\", DataType::LargeUtf8, false),\n Field::new(\"name\", DataType::LargeUtf8, false),\n Field::new(\"role\", DataType::LargeUtf8, false),\n Field::new(\"description\", DataType::LargeUtf8, false),\n Field::new(\n \"stats\",\n DataType::Struct(arrow_schema::Fields::from(vec![\n Arc::new(Field::new(\"strength\", DataType::Int8, false)),\n Arc::new(Field::new(\"magic\", DataType::Int8, false)),\n Arc::new(Field::new(\"leadership\", DataType::Int8, false)),\n Arc::new(Field::new(\"wisdom\", DataType::Int8, false)),\n ])),\n false,\n ),\n Field::new(\n \"vector\",\n DataType::FixedSizeList(Arc::new(Field::new(\"item\", DataType::Float32, true)), 4),\n false,\n ),\n ]))\n}\n"; -export const RsQuickstartOpenTable = "let table: Table = db.open_table(\"adventurers\").execute().await.unwrap();\n"; +export const RsQuickstartMultimodalBytes = "use std::sync::Arc;\n\nuse arrow_array::{\n BinaryArray, FixedSizeListArray, LargeStringArray, RecordBatch, RecordBatchIterator,\n};\nuse arrow_schema::{DataType, Field, Schema};\n\nlet image_path = std::path::Path::new(env!(\"CARGO_MANIFEST_DIR\"))\n .join(\"../../docs/static/assets/images/quickstart/sir-lancelot.jpg\");\nlet image_bytes = std::fs::read(image_path).unwrap();\n\nlet image_schema = Arc::new(Schema::new(vec![\n Field::new(\"id\", DataType::LargeUtf8, false),\n Field::new(\"description\", DataType::LargeUtf8, false),\n Field::new(\"image\", DataType::Binary, false),\n Field::new(\n \"vector\",\n DataType::FixedSizeList(Arc::new(Field::new(\"item\", DataType::Float32, true)), 4),\n false,\n ),\n]));\nlet image_vectors = [[0.9_f32, 0.1, 0.5, 0.4]];\nlet image_batch = RecordBatch::try_new(\n image_schema.clone(),\n vec![\n Arc::new(LargeStringArray::from_iter_values([\"lancelot\"])),\n Arc::new(LargeStringArray::from_iter_values([\n \"Portrait of Sir Lancelot\",\n ])),\n Arc::new(BinaryArray::from_iter_values([image_bytes.as_slice()])),\n Arc::new(\n FixedSizeListArray::from_iter_primitive::(\n image_vectors\n .iter()\n .map(|vector| Some(vector.iter().copied().map(Some).collect::>())),\n 4,\n ),\n ),\n ],\n)\n.unwrap();\nlet image_reader: Box = Box::new(\n RecordBatchIterator::new(vec![Ok(image_batch)].into_iter(), image_schema),\n);\nlet multimodal_table = db\n .create_table(\"character_images\", image_reader)\n .mode(CreateTableMode::Overwrite)\n .execute()\n .await\n .unwrap();\n"; -export const RsQuickstartOutputArray = "let result: DataFrame = table\n .query()\n .nearest_to(&query_vector)\n .unwrap()\n .limit(2)\n .select(Select::Columns(vec![\"text\".to_string()]))\n .execute()\n .await\n .unwrap()\n .into_polars()\n .await\n .unwrap();\nprintln!(\"{result:?}\");\nlet text_col = result.column(\"text\").unwrap().str().unwrap();\nlet top_two = vec![\n text_col.get(0).unwrap().to_string(),\n text_col.get(1).unwrap().to_string(),\n];\n"; +export const RsQuickstartOutputArray = "let result: DataFrame = table\n .query()\n .nearest_to(&query_vector)\n .unwrap()\n .select(Select::Columns(vec![\n \"name\".to_string(),\n \"role\".to_string(),\n \"description\".to_string(),\n \"_distance\".to_string(),\n ]))\n .limit(2)\n .execute()\n .await\n .unwrap()\n .into_polars()\n .await\n .unwrap();\nprintln!(\"{result:?}\");\n"; -export const RsQuickstartVectorSearch1 = "// Let's search for vectors similar to \"warrior\"\nlet query_vector = [0.8, 0.3, 0.8];\n\nlet result: DataFrame = table\n .query()\n .nearest_to(&query_vector)\n .unwrap()\n .limit(2)\n .select(Select::Columns(vec![\"text\".to_string()]))\n .execute()\n .await\n .unwrap()\n .into_polars()\n .await\n .unwrap();\nprintln!(\"{result:?}\");\n"; +export const RsQuickstartQueryFeature = "let features: DataFrame = table\n .query()\n .select(Select::Columns(vec![\n \"name\".to_string(),\n \"role\".to_string(),\n \"power_score\".to_string(),\n ]))\n .execute()\n .await\n .unwrap()\n .into_polars()\n .await\n .unwrap();\nprintln!(\"{features:?}\");\n"; -export const RsQuickstartVectorSearch2 = "// Let's search for vectors similar to \"wizard\"\nlet query_vector = [0.7, 0.3, 0.5];\n\nlet result: DataFrame = table\n .query()\n .nearest_to(&query_vector)\n .unwrap()\n .limit(2)\n .select(Select::Columns(vec![\"text\".to_string()]))\n .execute()\n .await\n .unwrap()\n .into_polars()\n .await\n .unwrap();\nprintln!(\"{result:?}\");\nlet text_col = result.column(\"text\").unwrap().str().unwrap();\nlet top_two = vec![\n text_col.get(0).unwrap().to_string(),\n text_col.get(1).unwrap().to_string(),\n];\n"; +export const RsQuickstartVectorSearch1 = "// Search for examples similar to a \"wise magical advisor\"\nlet query_vector = [0.2, 0.8, 0.4, 0.9];\n\nlet result: DataFrame = table\n .query()\n .nearest_to(&query_vector)\n .unwrap()\n .select(Select::Columns(vec![\n \"name\".to_string(),\n \"role\".to_string(),\n \"description\".to_string(),\n \"_distance\".to_string(),\n ]))\n .limit(2)\n .execute()\n .await\n .unwrap()\n .into_polars()\n .await\n .unwrap();\nprintln!(\"{result:?}\");\n"; diff --git a/docs/static/assets/images/quickstart/sir-lancelot.jpg b/docs/static/assets/images/quickstart/sir-lancelot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e987d60e45225457c1d8d939e57c77b470db53c5 GIT binary patch literal 269265 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Ç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 OKj17rLXOb-xAXsr;*p2| literal 0 HcmV?d00001 diff --git a/docs/storage/configuration.mdx b/docs/storage/configuration.mdx index 0a00be9f..0c9a0d8f 100644 --- a/docs/storage/configuration.mdx +++ b/docs/storage/configuration.mdx @@ -36,7 +36,7 @@ When using LanceDB OSS, you can choose where to store your data. The tradeoffs b **LanceDB Enterprise storage configuration** -In LanceDB Enterprise, you connect with `db://...` and the cluster owns the storage credentials, so `storage_options` are not passed at runtime. Cloud auth is set at deployment time. For federated databases, the namespace service vends per-request credentials automatically. See the [Enterprise quickstart](/enterprise/quickstart) and the [Azure deployment guide](/enterprise/deployment/azure) for the Enterprise flow. +In LanceDB Enterprise, you connect with `db://...` and the cluster owns the storage credentials, so `storage_options` are not passed at runtime. Cloud auth is set at deployment time. For federated databases, the namespace service vends per-request credentials automatically. See the [quickstart](/quickstart), [Enterprise overview](/enterprise/), and [Azure deployment guide](/enterprise/deployment/azure) for the Enterprise flow. ## Object stores diff --git a/tests/py/test_quickstart.py b/tests/py/test_quickstart.py index 58d25c28..207e6540 100644 --- a/tests/py/test_quickstart.py +++ b/tests/py/test_quickstart.py @@ -4,68 +4,151 @@ import lancedb import pytest + def test_quickstart(db_path_factory): - uri = "quickstart_db" uri = db_path_factory("quickstart_db") db = lancedb.connect(uri) - # --8<-- [start:quickstart_create_table] + # --8<-- [start:quickstart_data] data = [ - {"id": "1", "text": "knight", "vector": [0.9, 0.4, 0.8]}, - {"id": "2", "text": "ranger", "vector": [0.8, 0.4, 0.7]}, - {"id": "9", "text": "priest", "vector": [0.6, 0.2, 0.6]}, - {"id": "4", "text": "rogue", "vector": [0.7, 0.4, 0.7]}, + { + "id": "1", + "name": "King Arthur", + "role": "King", + "description": "Leader of Camelot and wielder of Excalibur.", + "stats": {"strength": 4, "magic": 1, "leadership": 5, "wisdom": 4}, + "vector": [0.7, 0.1, 0.9, 0.7], + }, + { + "id": "2", + "name": "Merlin", + "role": "Wizard", + "description": "Advisor and prophet with deep magical knowledge.", + "stats": {"strength": 2, "magic": 5, "leadership": 4, "wisdom": 5}, + "vector": [0.2, 0.9, 0.4, 0.9], + }, + { + "id": "3", + "name": "Sir Lancelot", + "role": "Knight", + "description": "Legendary knight known for courage and combat skill.", + "stats": {"strength": 5, "magic": 1, "leadership": 3, "wisdom": 3}, + "vector": [0.9, 0.1, 0.5, 0.4], + }, ] - table = db.create_table("adventurers", data=data, mode="overwrite") + # --8<-- [end:quickstart_data] + + # --8<-- [start:quickstart_create_table] + table = db.create_table("characters", data=data, mode="overwrite") # --8<-- [end:quickstart_create_table] - assert len(table) == 4 + assert len(table) == 3 # Drop the table to test create without overwrite - db.drop_table("adventurers") + db.drop_table("characters") # --8<-- [start:quickstart_create_table_no_overwrite] - table = db.create_table("adventurers", data=data) + table = db.create_table("characters", data=data) # --8<-- [end:quickstart_create_table_no_overwrite] - assert len(table) == 4 + assert len(table) == 3 # --8<-- [start:quickstart_vector_search_1] - # Let's search for vectors similar to "warrior" - query_vector = [0.8, 0.3, 0.8] + # Search for examples similar to a "wise magical advisor" + query_vector = [0.2, 0.8, 0.4, 0.9] # Ensure you run `pip install polars` beforehand - result = table.search(query_vector).limit(2).to_polars() + result = ( + table.search(query_vector) + .select(["name", "role", "description", "_distance"]) + .limit(2) + .to_polars() + ) print(result) # --8<-- [end:quickstart_vector_search_1] - assert result.head(1)["text"][0] == "knight" + assert result.head(1)["name"][0] == "Merlin" + + # --8<-- [start:quickstart_curate_with_metadata] + curated = ( + table.search(query_vector) + .where("stats.magic >= 4") + .select(["name", "role", "description", "_distance"]) + .limit(2) + .to_polars() + ) + print(curated) + # --8<-- [end:quickstart_curate_with_metadata] + assert curated.head(1)["name"][0] == "Merlin" # --8<-- [start:quickstart_output_pandas] # Ensure you run `pip install pandas` beforehand result = table.search(query_vector).limit(2).to_pandas() print(result) # --8<-- [end:quickstart_output_pandas] - assert result.iloc[0]["text"] == "knight" + assert result.iloc[0]["name"] == "Merlin" + + # --8<-- [start:quickstart_add_feature] + table.add_columns( + { + "power_score": "cast(((stats.strength + stats.magic + stats.leadership + stats.wisdom) / 4.0) as float)" + } + ) + # --8<-- [end:quickstart_add_feature] + assert "power_score" in table.schema.names + + # --8<-- [start:quickstart_query_feature] + features = table.search().select(["name", "role", "power_score"]).to_polars() + print(features) + # --8<-- [end:quickstart_query_feature] + assert "power_score" in features.columns + + # --8<-- [start:quickstart_multimodal_bytes] + from pathlib import Path + + image_path = Path("docs/static/assets/images/quickstart/sir-lancelot.jpg") + image_bytes = image_path.read_bytes() + + multimodal_table = db.create_table( + "character_images", + data=[ + { + "id": "lancelot", + "description": "Portrait of Sir Lancelot", + "image": image_bytes, + "vector": [0.9, 0.1, 0.5, 0.4], + } + ], + mode="overwrite", + ) + # --8<-- [end:quickstart_multimodal_bytes] + assert len(multimodal_table) == 1 # --8<-- [start:quickstart_open_table] - table = db.open_table("adventurers") + table = db.open_table("characters") # --8<-- [end:quickstart_open_table] # --8<-- [start:quickstart_add_data] more_data = [ - {"id": "7", "text": "mage", "vector": [0.6, 0.3, 0.4]}, - {"id": "8", "text": "bard", "vector": [0.3, 0.8, 0.4]}, + { + "id": "4", + "name": "Morgana", + "role": "Sorceress", + "description": "Powerful sorceress of Avalon.", + "stats": {"strength": 2, "magic": 5, "leadership": 4, "wisdom": 4}, + "vector": [0.3, 0.9, 0.6, 0.8], + "power_score": 3.75, + }, ] # Add data to table table.add(more_data) # --8<-- [end:quickstart_add_data] - assert len(table) == 6 + assert len(table) == 4 # --8<-- [start:quickstart_vector_search_2] - # Let's search for vectors similar to "wizard" - query_vector = [0.7, 0.3, 0.5] + # Search for examples similar to a "powerful sorceress" + query_vector = [0.3, 0.9, 0.6, 0.8] results = table.search(query_vector).limit(2).to_polars() print(results) # --8<-- [end:quickstart_vector_search_2] - assert results.head(1)["text"][0] == "mage" + assert results.head(1)["name"][0] == "Morgana" @pytest.mark.asyncio @@ -74,28 +157,52 @@ async def test_quickstart_async_api(db_path_factory): import lancedb async_db = await lancedb.connect_async(db_uri) + # --8<-- [start:quickstart_data_async] data = [ - {"id": "1", "text": "knight", "vector": [0.9, 0.4, 0.8]}, - {"id": "2", "text": "ranger", "vector": [0.8, 0.4, 0.7]}, - {"id": "9", "text": "priest", "vector": [0.6, 0.2, 0.6]}, - {"id": "4", "text": "rogue", "vector": [0.7, 0.4, 0.7]}, + { + "id": "1", + "name": "King Arthur", + "role": "King", + "description": "Leader of Camelot and wielder of Excalibur.", + "stats": {"strength": 4, "magic": 1, "leadership": 5, "wisdom": 4}, + "vector": [0.7, 0.1, 0.9, 0.7], + }, + { + "id": "2", + "name": "Merlin", + "role": "Wizard", + "description": "Advisor and prophet with deep magical knowledge.", + "stats": {"strength": 2, "magic": 5, "leadership": 4, "wisdom": 5}, + "vector": [0.2, 0.9, 0.4, 0.9], + }, + { + "id": "3", + "name": "Sir Lancelot", + "role": "Knight", + "description": "Legendary knight known for courage and combat skill.", + "stats": {"strength": 5, "magic": 1, "leadership": 3, "wisdom": 3}, + "vector": [0.9, 0.1, 0.5, 0.4], + }, ] + # --8<-- [end:quickstart_data_async] # --8<-- [start:quickstart_create_table_async] async_table = await async_db.create_table( - "adventurers", + "characters", data=data, mode="overwrite", ) # --8<-- [end:quickstart_create_table_async] # --8<-- [start:quickstart_vector_search_1_async] - # Let's search for vectors similar to "warrior" - query_vector = [0.8, 0.3, 0.8] + # Search for examples similar to a "wise magical advisor" + query_vector = [0.2, 0.8, 0.4, 0.9] # Ensure you run `pip install polars` beforehand - async_result = await (await async_table.search(query_vector)).limit(2).to_polars() + async_result = await ( + await async_table.search(query_vector) + ).select(["name", "role", "description", "_distance"]).limit(2).to_polars() print(async_result) # --8<-- [end:quickstart_vector_search_1_async] - assert async_result.head(1)["text"][0] == "knight" + assert async_result.head(1)["name"][0] == "Merlin" diff --git a/tests/rs/quickstart.rs b/tests/rs/quickstart.rs index ebe4dffc..bc966aab 100644 --- a/tests/rs/quickstart.rs +++ b/tests/rs/quickstart.rs @@ -4,31 +4,56 @@ use std::sync::Arc; use arrow_array::types::Float32Type; -use arrow_array::{FixedSizeListArray, LargeStringArray, RecordBatch, RecordBatchIterator}; -use arrow_schema::{DataType, Field, Schema}; +use arrow_array::{ + FixedSizeListArray, Int8Array, LargeStringArray, RecordBatch, RecordBatchIterator, StructArray, +}; +use arrow_schema::{DataType, Field, FieldRef, Schema}; use lancedb::arrow::IntoPolars; use lancedb::database::CreateTableMode; use lancedb::query::{ExecutableQuery, QueryBase, Select}; -use lancedb::{connect, table::Table}; +use lancedb::{connect, table::NewColumnTransform}; use polars::prelude::DataFrame; use serde::{Deserialize, Serialize}; // --8<-- [start:quickstart_define_struct] -// Define a struct representing the data schema +// Define structs representing the data schema #[derive(Debug, Clone, Serialize, Deserialize)] -struct Adventurer { +struct Stats { + strength: i8, + magic: i8, + leadership: i8, + wisdom: i8, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +struct Character { id: String, - text: String, - vector: [f32; 3], + name: String, + role: String, + description: String, + stats: Stats, + vector: [f32; 4], } -fn adventurers_schema() -> Arc { +fn characters_schema() -> Arc { Arc::new(Schema::new(vec![ Field::new("id", DataType::LargeUtf8, false), - Field::new("text", DataType::LargeUtf8, false), + Field::new("name", DataType::LargeUtf8, false), + Field::new("role", DataType::LargeUtf8, false), + Field::new("description", DataType::LargeUtf8, false), + Field::new( + "stats", + DataType::Struct(arrow_schema::Fields::from(vec![ + Arc::new(Field::new("strength", DataType::Int8, false)), + Arc::new(Field::new("magic", DataType::Int8, false)), + Arc::new(Field::new("leadership", DataType::Int8, false)), + Arc::new(Field::new("wisdom", DataType::Int8, false)), + ])), + false, + ), Field::new( "vector", - DataType::FixedSizeList(Arc::new(Field::new("item", DataType::Float32, true)), 3), + DataType::FixedSizeList(Arc::new(Field::new("item", DataType::Float32, true)), 4), false, ), ])) @@ -37,22 +62,57 @@ fn adventurers_schema() -> Arc { type BatchIter = Box; -fn adventurers_to_reader(schema: Arc, rows: &[Adventurer]) -> BatchIter { +fn characters_to_reader(schema: Arc, rows: &[Character]) -> BatchIter { let ids = LargeStringArray::from_iter_values(rows.iter().map(|row| row.id.as_str())); - let texts = LargeStringArray::from_iter_values(rows.iter().map(|row| row.text.as_str())); + let names = LargeStringArray::from_iter_values(rows.iter().map(|row| row.name.as_str())); + let roles = LargeStringArray::from_iter_values(rows.iter().map(|row| row.role.as_str())); + let descriptions = + LargeStringArray::from_iter_values(rows.iter().map(|row| row.description.as_str())); + + let strength = Int8Array::from_iter_values(rows.iter().map(|row| row.stats.strength)); + let magic = Int8Array::from_iter_values(rows.iter().map(|row| row.stats.magic)); + let leadership = Int8Array::from_iter_values(rows.iter().map(|row| row.stats.leadership)); + let wisdom = Int8Array::from_iter_values(rows.iter().map(|row| row.stats.wisdom)); + let stats_fields: Vec = vec![ + Arc::new(Field::new("strength", DataType::Int8, false)), + Arc::new(Field::new("magic", DataType::Int8, false)), + Arc::new(Field::new("leadership", DataType::Int8, false)), + Arc::new(Field::new("wisdom", DataType::Int8, false)), + ]; + let stats = StructArray::new( + stats_fields.into(), + vec![ + Arc::new(strength), + Arc::new(magic), + Arc::new(leadership), + Arc::new(wisdom), + ], + None, + ); + let vectors = FixedSizeListArray::from_iter_primitive::( rows.iter() .map(|row| Some(row.vector.iter().copied().map(Some).collect::>())), - 3, + 4, ); let batch = RecordBatch::try_new( schema.clone(), - vec![Arc::new(ids), Arc::new(texts), Arc::new(vectors)], + vec![ + Arc::new(ids), + Arc::new(names), + Arc::new(roles), + Arc::new(descriptions), + Arc::new(stats), + Arc::new(vectors), + ], ) .unwrap(); - Box::new(RecordBatchIterator::new(vec![Ok(batch)].into_iter(), schema)) + Box::new(RecordBatchIterator::new( + vec![Ok(batch)].into_iter(), + schema, + )) } #[tokio::main] @@ -61,61 +121,86 @@ async fn main() { let uri = temp_dir.path().to_str().unwrap(); let db = connect(uri).execute().await.unwrap(); - // --8<-- [start:quickstart_create_table] - // Define an arrow schema named adventurers_schema beforehand (omitted here for brevity) - let schema = adventurers_schema(); + // --8<-- [start:quickstart_data] let data = vec![ - Adventurer { + Character { id: "1".to_string(), - text: "knight".to_string(), - vector: [0.9, 0.4, 0.8], + name: "King Arthur".to_string(), + role: "King".to_string(), + description: "Leader of Camelot and wielder of Excalibur.".to_string(), + stats: Stats { + strength: 4, + magic: 1, + leadership: 5, + wisdom: 4, + }, + vector: [0.7, 0.1, 0.9, 0.7], }, - Adventurer { + Character { id: "2".to_string(), - text: "ranger".to_string(), - vector: [0.8, 0.4, 0.7], + name: "Merlin".to_string(), + role: "Wizard".to_string(), + description: "Advisor and prophet with deep magical knowledge.".to_string(), + stats: Stats { + strength: 2, + magic: 5, + leadership: 4, + wisdom: 5, + }, + vector: [0.2, 0.9, 0.4, 0.9], }, - Adventurer { - id: "9".to_string(), - text: "priest".to_string(), - vector: [0.6, 0.2, 0.6], - }, - Adventurer { - id: "4".to_string(), - text: "rogue".to_string(), - vector: [0.7, 0.4, 0.7], + Character { + id: "3".to_string(), + name: "Sir Lancelot".to_string(), + role: "Knight".to_string(), + description: "Legendary knight known for courage and combat skill.".to_string(), + stats: Stats { + strength: 5, + magic: 1, + leadership: 3, + wisdom: 3, + }, + vector: [0.9, 0.1, 0.5, 0.4], }, ]; - // Create a new table with the data, overwriting if it already exists - let mut table = db - .create_table("adventurers", adventurers_to_reader(schema.clone(), &data)) + // --8<-- [end:quickstart_data] + + // --8<-- [start:quickstart_create_table] + let schema = characters_schema(); + let table = db + .create_table("characters", characters_to_reader(schema.clone(), &data)) .mode(CreateTableMode::Overwrite) .execute() .await .unwrap(); // --8<-- [end:quickstart_create_table] - assert_eq!(table.count_rows(None).await.unwrap(), 4); - db.drop_table("adventurers", &[]).await.unwrap(); + assert_eq!(table.count_rows(None).await.unwrap(), 3); + db.drop_table("characters", &[]).await.unwrap(); // --8<-- [start:quickstart_create_table_no_overwrite] - table = db - .create_table("adventurers", adventurers_to_reader(schema.clone(), &data)) + let table = db + .create_table("characters", characters_to_reader(schema.clone(), &data)) .execute() .await .unwrap(); // --8<-- [end:quickstart_create_table_no_overwrite] - assert_eq!(table.count_rows(None).await.unwrap(), 4); + assert_eq!(table.count_rows(None).await.unwrap(), 3); // --8<-- [start:quickstart_vector_search_1] - // Let's search for vectors similar to "warrior" - let query_vector = [0.8, 0.3, 0.8]; + // Search for examples similar to a "wise magical advisor" + let query_vector = [0.2, 0.8, 0.4, 0.9]; let result: DataFrame = table .query() .nearest_to(&query_vector) .unwrap() + .select(Select::Columns(vec![ + "name".to_string(), + "role".to_string(), + "description".to_string(), + "_distance".to_string(), + ])) .limit(2) - .select(Select::Columns(vec!["text".to_string()])) .execute() .await .unwrap() @@ -124,16 +209,45 @@ async fn main() { .unwrap(); println!("{result:?}"); // --8<-- [end:quickstart_vector_search_1] - let text_col = result.column("text").unwrap().str().unwrap(); - assert_eq!(text_col.get(0).unwrap(), "knight"); + let name_col = result.column("name").unwrap().str().unwrap(); + assert_eq!(name_col.get(0).unwrap(), "Merlin"); + + // --8<-- [start:quickstart_curate_with_metadata] + let curated: DataFrame = table + .query() + .nearest_to(&query_vector) + .unwrap() + .only_if("stats.magic >= 4") + .select(Select::Columns(vec![ + "name".to_string(), + "role".to_string(), + "description".to_string(), + "_distance".to_string(), + ])) + .limit(2) + .execute() + .await + .unwrap() + .into_polars() + .await + .unwrap(); + println!("{curated:?}"); + // --8<-- [end:quickstart_curate_with_metadata] + let curated_name_col = curated.column("name").unwrap().str().unwrap(); + assert_eq!(curated_name_col.get(0).unwrap(), "Merlin"); // --8<-- [start:quickstart_output_array] let result: DataFrame = table .query() .nearest_to(&query_vector) .unwrap() + .select(Select::Columns(vec![ + "name".to_string(), + "role".to_string(), + "description".to_string(), + "_distance".to_string(), + ])) .limit(2) - .select(Select::Columns(vec!["text".to_string()])) .execute() .await .unwrap() @@ -141,63 +255,93 @@ async fn main() { .await .unwrap(); println!("{result:?}"); - let text_col = result.column("text").unwrap().str().unwrap(); - let top_two = vec![ - text_col.get(0).unwrap().to_string(), - text_col.get(1).unwrap().to_string(), - ]; // --8<-- [end:quickstart_output_array] - assert_eq!(top_two[0], "knight"); - - // --8<-- [start:quickstart_open_table] - let table: Table = db.open_table("adventurers").execute().await.unwrap(); - // --8<-- [end:quickstart_open_table] - - // --8<-- [start:quickstart_add_data] - let more_data = vec![ - Adventurer { - id: "7".to_string(), - text: "mage".to_string(), - vector: [0.6, 0.3, 0.4], - }, - Adventurer { - id: "8".to_string(), - text: "bard".to_string(), - vector: [0.3, 0.8, 0.4], - }, - ]; + let name_col = result.column("name").unwrap().str().unwrap(); + assert_eq!(name_col.get(0).unwrap(), "Merlin"); - // Add data to table + // --8<-- [start:quickstart_add_feature] table - .add(adventurers_to_reader(schema.clone(), &more_data)) - .execute() + .add_columns( + NewColumnTransform::SqlExpressions(vec![( + "power_score".to_string(), + "cast(((stats.strength + stats.magic + stats.leadership + stats.wisdom) / 4.0) as float)" + .to_string(), + )]), + None, + ) .await .unwrap(); - // --8<-- [end:quickstart_add_data] - assert_eq!(table.count_rows(None).await.unwrap(), 6); - - // --8<-- [start:quickstart_vector_search_2] - // Let's search for vectors similar to "wizard" - let query_vector = [0.7, 0.3, 0.5]; + // --8<-- [end:quickstart_add_feature] - let result: DataFrame = table + // --8<-- [start:quickstart_query_feature] + let features: DataFrame = table .query() - .nearest_to(&query_vector) - .unwrap() - .limit(2) - .select(Select::Columns(vec!["text".to_string()])) + .select(Select::Columns(vec![ + "name".to_string(), + "role".to_string(), + "power_score".to_string(), + ])) .execute() .await .unwrap() .into_polars() .await .unwrap(); - println!("{result:?}"); - let text_col = result.column("text").unwrap().str().unwrap(); - let top_two = vec![ - text_col.get(0).unwrap().to_string(), - text_col.get(1).unwrap().to_string(), - ]; - // --8<-- [end:quickstart_vector_search_2] - assert_eq!(top_two[0], "mage"); + println!("{features:?}"); + // --8<-- [end:quickstart_query_feature] + assert!(features.column("power_score").is_ok()); + + // --8<-- [start:quickstart_multimodal_bytes] + use std::sync::Arc; + + use arrow_array::{ + BinaryArray, FixedSizeListArray, LargeStringArray, RecordBatch, RecordBatchIterator, + }; + use arrow_schema::{DataType, Field, Schema}; + + let image_path = std::path::Path::new(env!("CARGO_MANIFEST_DIR")) + .join("../../docs/static/assets/images/quickstart/sir-lancelot.jpg"); + let image_bytes = std::fs::read(image_path).unwrap(); + + let image_schema = Arc::new(Schema::new(vec![ + Field::new("id", DataType::LargeUtf8, false), + Field::new("description", DataType::LargeUtf8, false), + Field::new("image", DataType::Binary, false), + Field::new( + "vector", + DataType::FixedSizeList(Arc::new(Field::new("item", DataType::Float32, true)), 4), + false, + ), + ])); + let image_vectors = [[0.9_f32, 0.1, 0.5, 0.4]]; + let image_batch = RecordBatch::try_new( + image_schema.clone(), + vec![ + Arc::new(LargeStringArray::from_iter_values(["lancelot"])), + Arc::new(LargeStringArray::from_iter_values([ + "Portrait of Sir Lancelot", + ])), + Arc::new(BinaryArray::from_iter_values([image_bytes.as_slice()])), + Arc::new( + FixedSizeListArray::from_iter_primitive::( + image_vectors + .iter() + .map(|vector| Some(vector.iter().copied().map(Some).collect::>())), + 4, + ), + ), + ], + ) + .unwrap(); + let image_reader: Box = Box::new( + RecordBatchIterator::new(vec![Ok(image_batch)].into_iter(), image_schema), + ); + let multimodal_table = db + .create_table("character_images", image_reader) + .mode(CreateTableMode::Overwrite) + .execute() + .await + .unwrap(); + // --8<-- [end:quickstart_multimodal_bytes] + assert_eq!(multimodal_table.count_rows(None).await.unwrap(), 1); } diff --git a/tests/ts/quickstart.test.ts b/tests/ts/quickstart.test.ts index 655ac8c5..ecd5c099 100644 --- a/tests/ts/quickstart.test.ts +++ b/tests/ts/quickstart.test.ts @@ -8,60 +8,168 @@ test("quickstart example (async)", async () => { await withTempDirectory(async (databaseDir) => { const db = await lancedb.connect(databaseDir); - // --8<-- [start:quickstart_create_table] + // --8<-- [start:quickstart_data] const data = [ - { id: "1", text: "knight", vector: [0.9, 0.4, 0.8] }, - { id: "2", text: "ranger", vector: [0.8, 0.4, 0.7] }, - { id: "9", text: "priest", vector: [0.6, 0.2, 0.6] }, - { id: "4", text: "rogue", vector: [0.7, 0.4, 0.7] }, + { + id: "1", + name: "King Arthur", + role: "King", + description: "Leader of Camelot and wielder of Excalibur.", + stats: { strength: 4, magic: 1, leadership: 5, wisdom: 4 }, + vector: [0.7, 0.1, 0.9, 0.7], + }, + { + id: "2", + name: "Merlin", + role: "Wizard", + description: "Advisor and prophet with deep magical knowledge.", + stats: { strength: 2, magic: 5, leadership: 4, wisdom: 5 }, + vector: [0.2, 0.9, 0.4, 0.9], + }, + { + id: "3", + name: "Sir Lancelot", + role: "Knight", + description: "Legendary knight known for courage and combat skill.", + stats: { strength: 5, magic: 1, leadership: 3, wisdom: 3 }, + vector: [0.9, 0.1, 0.5, 0.4], + }, ]; - let table = await db.createTable("adventurers", data, { mode: "overwrite" }); + // --8<-- [end:quickstart_data] + + // --8<-- [start:quickstart_create_table] + let table = await db.createTable("characters", data, { mode: "overwrite" }); // --8<-- [end:quickstart_create_table] - expect(await table.countRows()).toBe(4); - await db.dropTable("adventurers"); + expect(await table.countRows()).toBe(3); + await db.dropTable("characters"); // --8<-- [start:quickstart_create_table_no_overwrite] - table = await db.createTable("adventurers", data); + table = await db.createTable("characters", data); // --8<-- [end:quickstart_create_table_no_overwrite] - expect(await table.countRows()).toBe(4); + expect(await table.countRows()).toBe(3); // --8<-- [start:quickstart_vector_search_1] - // Let's search for vectors similar to "warrior" - let queryVector = [0.8, 0.3, 0.8]; + // Search for examples similar to a "wise magical advisor" + let queryVector = [0.2, 0.8, 0.4, 0.9]; - let result = await table.search(queryVector).limit(2).toArray(); + let result = await table + .search(queryVector) + .select(["name", "role", "description", "_distance"]) + .limit(2) + .toArray(); console.table(result); // --8<-- [end:quickstart_vector_search_1] - expect(result[0].text).toBe("knight"); + expect(result[0].name).toBe("Merlin"); + + // --8<-- [start:quickstart_curate_with_metadata] + const curated = await table + .search(queryVector) + .where("stats.magic >= 4") + .select(["name", "role", "description", "_distance"]) + .limit(2) + .toArray(); + console.table(curated); + // --8<-- [end:quickstart_curate_with_metadata] + expect(curated[0].name).toBe("Merlin"); // --8<-- [start:quickstart_output_array] result = await table.search(queryVector).limit(2).toArray(); console.table(result); // --8<-- [end:quickstart_output_array] - expect(result[0].text).toBe("knight"); + expect(result[0].name).toBe("Merlin"); + + // --8<-- [start:quickstart_add_feature] + await table.addColumns([ + { + name: "power_score", + valueSql: + "cast(((stats.strength + stats.magic + stats.leadership + stats.wisdom) / 4.0) as float)", + }, + ]); + // --8<-- [end:quickstart_add_feature] + const schemaWithFeature = await table.schema(); + expect(schemaWithFeature.fields.some((f) => f.name === "power_score")).toBe( + true, + ); + + // --8<-- [start:quickstart_query_feature] + const features = await table + .query() + .select(["name", "role", "power_score"]) + .toArray(); + console.table(features); + // --8<-- [end:quickstart_query_feature] + expect(features[0]).toHaveProperty("power_score"); + + // --8<-- [start:quickstart_multimodal_bytes] + const arrow = await import("apache-arrow"); + const path = await import("node:path"); + const { readFile } = await import("node:fs/promises"); + + const imagePath = path.resolve( + "../../docs/static/assets/images/quickstart/sir-lancelot.jpg", + ); + const imageBytes = await readFile(imagePath); + const imageSchema = new arrow.Schema([ + new arrow.Field("id", new arrow.Utf8()), + new arrow.Field("description", new arrow.Utf8()), + new arrow.Field("image", new arrow.Binary()), + new arrow.Field( + "vector", + new arrow.FixedSizeList( + 4, + new arrow.Field("item", new arrow.Float32(), true), + ), + ), + ]); + const imageData = lancedb.makeArrowTable( + [ + { + id: "lancelot", + description: "Portrait of Sir Lancelot", + image: imageBytes, + vector: [0.9, 0.1, 0.5, 0.4], + }, + ], + { schema: imageSchema }, + ); + const multimodalTable = await db.createTable( + "character_images", + imageData, + { mode: "overwrite" }, + ); + // --8<-- [end:quickstart_multimodal_bytes] + expect(await multimodalTable.countRows()).toBe(1); // --8<-- [start:quickstart_open_table] - table = await db.openTable("adventurers"); + table = await db.openTable("characters"); // --8<-- [end:quickstart_open_table] // --8<-- [start:quickstart_add_data] const moreData = [ - { id: "7", text: "mage", vector: [0.6, 0.3, 0.4] }, - { id: "8", text: "bard", vector: [0.3, 0.8, 0.4] }, + { + id: "4", + name: "Morgana", + role: "Sorceress", + description: "Powerful sorceress of Avalon.", + stats: { strength: 2, magic: 5, leadership: 4, wisdom: 4 }, + vector: [0.3, 0.9, 0.6, 0.8], + power_score: 3.75, + }, ]; // Add data to table await table.add(moreData); // --8<-- [end:quickstart_add_data] - expect(await table.countRows()).toBe(6); + expect(await table.countRows()).toBe(4); // --8<-- [start:quickstart_vector_search_2] - // Let's search for vectors similar to "wizard" - queryVector = [0.7, 0.3, 0.5]; + // Search for examples similar to a "powerful sorceress" + queryVector = [0.3, 0.9, 0.6, 0.8]; const results = await table.search(queryVector).limit(2).toArray(); console.table(results); // --8<-- [end:quickstart_vector_search_2] - expect(results[0].text).toBe("mage"); + expect(results[0].name).toBe("Morgana"); }); });