我开始学习Vector数据库,我使用Pinecone来制作数据库,但是在这段代码中:
public static async Task SaveToDatabase(List<float> vector)
{
string ApiKey = "pcsk_Fuhui_3Ct3UH3hQCTV3gLJKweFSMjRuKpzmM47x4djc8xwQuRVjw8DzxpJBdCLbyAqpbx";
using var pinecone = new PineconeClient(ApiKey);
var indexes = await pinecone.ListIndexes();
foreach (IndexDetails i in indexes) { Console.WriteLine(i.Name); }
Pinecone.Index<RestTransport> index = await pinecone.GetIndex("pinecone
pdfai");
var vectors = new[]
{
new Vector
{
Id = "vector1",
Values = vector.ToArray(),
Metadata = new MetadataMap
{
["genre"] = "horror",
["duration"] = 120
}
}
};
await index.Upsert(vectors);
}
但我在运行时遇到此错误:System.Text.Json.JsonException:'类型'Pinecone.Rest.UpsertResponse'的JSON反序列化缺少必需的属性,包括:'upsertedCount'。'
我尝试寻找“upsertedCount”,但在任何文档中都找不到它,而且我无法弄清楚为什么会发生错误。
如果您需要更多信息,请评论:)
因为您正在使用 await,所以您应该调用 ListIndexesAsync 而不是 ListIndexes。