I am using pincone typescript client, and was not able to filter the query using metadata.
So I tried the same set of queries using CURL, and I think few syntax are not working.
or I am doing something wrong ?
metadata: {
tags: ["Creator", "Consumer"]
}
Now after storing vectors, and now trying to query the data
Did you ever figure this out? I am having a similar issue.
I have upserted into pinecone in the following way:
for doc in tqdm(docs_restaurant):
chunks = text_splitter.split_text(str(doc.metadata))
for i, chunk in enumerate(chunks):
documents.append({
'id': f'{doc.page_content}_{i}',
'text': chunk,
'metadata': {
'file': 'test'
}
})
for i in tqdm(range(0, len(documents), batch_size)):
i_end = min(len(documents), i+batch_size)
res = s.post(
f"{endpoint_url}/upsert",
headers=headers,
json={
"documents": documents[i:i_end]
}
)
The data is in pinecone. I can query it with no filter successfully ala:
First, my problem was with filtering using a list of strings as metadata. I was using LangchainJS and the Typescript Pinecone client, and I couldn’t quite get it to work as expected. The problem was that the lists of strings were not stored correctly.
I managed to solve the issue by upgrading Langchain to version 0.0.92 from 0.0.84 (using Pinecone version 0.0.10). Now everything is working smoothly.