LanceDB是一种使用持久存储构建的用于矢量搜索的开源数据库,极大简化了检索、过滤和嵌入管理。 LanceDB的主要功能包括:
- 生产规模的矢量搜索,无需管理服务器。
- 存储、查询和过滤矢量、元数据和多模态数据(文本、图像、视频、点云等)。
- 支持矢量相似性搜索、全文搜索和SQL。
- 本地支持Python和Javascript/Typescript。
- 零拷贝、自动版本管理,管理数据版本而无需额外基础设施。
- GPU支持构建矢量索引(
*)。 - 生态系统集成
- LangChain🦜️🔗
- LlamaIndex🦙
- Apache-Arrow
- Pandas
- Polars
- DuckDB
关于LanceDB中Table介绍
Table的方法
name(): 获取表的名称schema(): 获取表的模式count_rows(): 获取表中的行数add(): 添加记录添加到表中,但传入的参数是需要实现IntoArrow的类型query(): 查询表中的记录update(): 更新表中的记录delete(): 删除表中的记录create_index(): 创建索引merge_insert(): 合并插入vector_search(): 矢量搜索optimize(): 优化表add_columns(): 添加(多)列alter_columns(): 修改(多)列drop_columns(): 删除(多)列version(): 获取表的版本,由于LanceDB使用版本控制变化checkpoint(): 根据指定版本获取检查点checkpoint_latest(): 获取最新检查点restore(): 恢复到指定版本list_indices(): 列出表的索引
Schema模式定义Table定义方式
