2个版本
0.1.5 | 2024年1月24日 |
---|---|
0.1.4 | 2024年1月24日 |
#405 在 认证
50KB
904 行
此crate允许您连接并与Pinecone(向量数据库)交互。在验证您的API密钥和您的环境密钥后,此crate简化了与Pinecone索引的连接。一旦连接得到验证,此API允许您在Pinecone中upsert、查询和更新数据,以及更多未提及的命令。有关不同API方法的更多详细信息,请参阅此处
此crate目前仅支持http / rest Pinecone API,不支持gRPC。gRPC将在未来作为可选项实现。http目前是默认的
要连接,请使用Client
的Client::new
方法初始化。这是一个异步操作,它还将验证您的凭据,如果提供无效凭据,则会出错。然后您可以使用Client
上的方法在您的客户端/账户上运行操作,或通过Client::index
方法创建一个新的Index
。此索引最初不会得到验证,可以通过调用Index::describe
方法进行验证,该方法将尝试获取有关索引的信息,并在成功通过后验证凭据。
以下是一个基本的客户端和索引示例。
async fn index_upsert() {
// We create an instance of client first and firstmost. Panics if it couldn't authenticate.
let client = Client::new(env!("PINECONE_API_KEY"), env!("PINECONE_ENV")).await.unwrap();
// creates an index, will not authenticate.
let mut index = client.index(env!("PINECONE_INDEX_NAME"));
// We use describe as a form of authenticate, panicing if we couldn't authenticate.
let _ = index.describe().await.unwrap();
let vec = Vector{
id: "B".to_string(),
values: vec![0.5; 32],
sparse_values: None,
metadata: None
};
match index.upsert(String::from("odle"), vec![vec]).await {
Ok(_) => assert!(true),
Err(err) => panic!("unable to upsert: {:?}", err)
}
}
依赖项
~4–16MB
~245K SLoC