linkml-store
项目描述
linkml-store
一个AI就绪的数据管理和集成平台。LinkML-Store在多个不同的后端(包括DuckDB、MongoDB、Neo4j和本地文件系统)之上提供了一个抽象层,允许进行常见的查询、索引和存储操作。
有关完整文档,请参阅https://linkml.io/linkml-store/
请参阅这些幻灯片以获取高级概述。
警告 LinkML-Store仍在进行更改和重构,API和命令行选项可能会更改!
快速入门
安装、添加数据、查询它
pip install linkml-store[all]
linkml-store -d duckdb:///db/my.db -c persons insert data/*.json
linkml-store -d duckdb:///db/my.db -c persons query -w "occupation: Bricklayer"
索引它、搜索它
linkml-store -d duckdb:///db/my.db -c persons index -t llm
linkml-store -d duckdb:///db/my.db -c persons search "all persons employed in construction"
验证它
linkml-store -d duckdb:///db/my.db -c persons validate
基本用法
CRUDSI模式
大多数数据库API实现了CRUD
模式:创建、读取、更新、删除。LinkML-Store添加了搜索
和推理
到这个模式,使其成为CRUDSI
。
“搜索”和“推理”的概念旨在灵活和可扩展,包括
- 搜索
- 传统关键字搜索
- 使用LLM向量嵌入进行搜索(无需专用向量数据库)
- 可插拔的专用搜索,例如基因组序列(尚未实现)
- 推理(包括验证、修复和缺失数据的推理)
- 经典基于规则的推理
- 使用LLM检索增强生成(RAG)的推理
- 统计/机器学习推理
特征
多个适配器
LinkML-Store设计用于与多个后端一起工作,提供通用的抽象层
即将推出:任何RDBMS,任何三元组存储,Neo4J,基于HDF5的存储,ChromaDB/Vector数据库...
目的是提供所有后端的所有特性的联合。例如,为所有后端提供分析分面查询,而不仅仅是Solr。
可组合索引
许多后端都带有自己的索引和搜索方案。传统上这是基于Lucene的索引,现在是使用LLM嵌入的语义搜索。
LinkML存储将索引视为一个正交关注点 - 您可以使用不同的后端组合不同的索引方案。您不需要向量数据库来运行嵌入搜索!
请参阅如何使用语义搜索
与LLM一起使用
TODO - 文档
验证
LinkML-Store由LinkML支持,它允许强大的表达性结构和语义约束。
请参阅索引JSON
Web API
有一个初步的API,遵循HATEOAS原则,使用FastAPI实现。
要开始,您首先应该创建一个配置文件,例如db/conf.yaml
然后运行
export LINKML_STORE_CONFIG=./db/conf.yaml
make api
API返回链接以及数据对象,建议使用Chrome插件查看JSON来探索API。TODO:此处添加文档。
主要端点包括
http://localhost:8000/
- API的根http://localhost:8000/pages/
- 通过HTML浏览APIhttp://localhost:8000/docs
- Swagger UI
Streamlit应用程序
make app
背景
请参阅这些幻灯片以获取更多详细信息
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。