1 个不稳定版本
0.1.0 | 2023年6月11日 |
---|
#2612 在 数据库接口
37KB
919 行
Cedar
Cedar提供了一个易于设置的内存向量数据库,您可以将它嵌入到您的Rust应用程序中。
// 1. initialize db
let db = DuckDB::new(Default::default())?;
db.init()?;
// 2. initialize embedding function (could be OpenAI, Chrome, etc)
let embedding_fn = SentenceTransformerEmbeddings::new();
// Or use OpenAI embeddings:
let embedding_fn = OpenAIEmbeddingFunction::new(
"<api_key>".to_string(),
);
// 3. initialize client
let mut client = LocalClient::init(db, embedding_fn)?;
// 4. create a collection
let mut collection = client.create_collection("collection1")?;
// 5. push documents to the store
let docs = &[
Document {
text: "this is about macbooks".to_string(),
metadata: json!({ "source": "laptops" }),
id: Uuid::new_v4(),
},
Document {
text: "lychees are better than mangoes".to_string(),
metadata: json!({ "source": "facts" }),
id: Uuid::new_v4(),
},
];
collection.add_documents(docs)?;
// 6. query the vector store for matching documents
let k = 1;
let res = collection.query_documents(&["which one is the better fruit?"], k, json!({ "source": "facts" }))?;
安装
要在您的项目中使用cedar,首先将其添加到您的 Cargo.toml
文件中。(独立的cedar服务器即将推出!)
[dependencies]
cedar = "0.1.0"
cedar
使用PyTorch的 tch-rs
绑定。要设置绑定,请按照以下步骤操作
-
从 https://pytorch.ac.cn/get-started/locally/ 下载
libtorch
。此包需要v2.0.0
版本:如果此版本不再在“入门”页面上可用,则可以通过修改目标链接来访问文件,例如,Linux版本与CUDA11的https://download.pytorch.org/libtorch/cu118/libtorch-cxx11-abi-shared-with-deps-2.0.0%2Bcu118.zip
。 注意:当使用来自crates.io的rust-bert
作为依赖项时,请检查已发布包的 readme 中要求的LIBTORCH
,因为它可能与此处记录的版本不同(适用于当前存储库版本)。 -
将库解压到您选择的文件夹
-
设置以下环境变量
Linux
export LIBTORCH=/path/to/libtorch
export LD_LIBRARY_PATH=${LIBTORCH}/lib:$LD_LIBRARY_PATH
macOS + Homebrew
brew install pytorch jq
export LIBTORCH=$(brew --cellar pytorch)/$(brew info --json pytorch | jq -r '.[0].installed[0].version')
export LD_LIBRARY_PATH=${LIBTORCH}/lib:$LD_LIBRARY_PATH
依赖项
~43–58MB
~1M SLoC