From 1ee208541ca2a1c655b5153447791d6af1a3ed3d Mon Sep 17 00:00:00 2001 From: Harry Jiang Date: Tue, 9 Apr 2024 07:55:59 +1200 Subject: [PATCH] langchain: fix pinecone upsert when async_req is set to False (#19793) Issue: When async_req is the default value True, pinecone client return the multiprocessing AsyncResult object. When async_req is set to False, pinecone client return the result directly. `[{'upserted_count': 1}]` . Calling get() method will throw an error in this case. --- libs/partners/pinecone/langchain_pinecone/vectorstores.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/partners/pinecone/langchain_pinecone/vectorstores.py b/libs/partners/pinecone/langchain_pinecone/vectorstores.py index d01574b6195..94573dc8ef1 100644 --- a/libs/partners/pinecone/langchain_pinecone/vectorstores.py +++ b/libs/partners/pinecone/langchain_pinecone/vectorstores.py @@ -166,7 +166,8 @@ class PineconeVectorStore(VectorStore): batch_size, zip(chunk_ids, embeddings, chunk_metadatas) ) ] - [res.get() for res in async_res] + if async_req: + [res.get() for res in async_res] return ids