memista
1.0.0
Memista是用Rust编写的高性能向量搜索服务,它提供了一个简单的HTTP API,用于存储和检索其相关矢量嵌入的文本块。它将用于元数据存储的SQLite与USEARCH相结合,以进行有效的向量相似性搜索。
将文本块带有嵌入的文本块插入指定的数据库中。
使用矢量嵌入搜索类似的块。
删除特定的数据库及其关联的向量索引。
可以使用环境变量配置该服务:
DATABASE_PATH :通往SQLITE数据库文件的路径(默认值:“ memista.db”)SERVER_HOST :主机地址绑定到(默认值:“ 127.0.0.1”)SERVER_PORT :要收听的端口(默认:8083)LOG_LEVEL :记录级别(默认值:“ info”) .env文件cargo run服务器将启动,API文档将可用:
curl -X POST http://localhost:8083/v1/insert
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"chunks": [{
"embedding": [0.1, 0.2],
"text": "Sample text",
"metadata": "{"source": "document1"}"
}]
} 'curl -X POST http://localhost:8083/v1/search
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"embeddings": [[0.1, 0.2]],
"num_results": 5
} ' 该项目使用几个关键依赖性:
有关依赖项的完整列表,请参见cargo.toml文件。
该项目已根据GNU通用公共许可证v3.0(GPL -3.0)的许可 - 请参见下文摘要:
GNU通用公共许可证v3.0(GPL-3.0)
许可:
状况:
限制:
有关完整许可文本,请参见许可或访问https://www.gnu.org/licenses/gpl-3.0.en.html