Jelajahi Sumber

[Bug fix] Fix search API for pinecone vector db

Deshraj Yadav 1 tahun lalu
induk
melakukan
7e1d2ffdd7
3 mengubah file dengan 7 tambahan dan 2 penghapusan
  1. 3 1
      embedchain/embedchain.py
  2. 3 0
      embedchain/vectordb/pinecone.py
  3. 1 1
      pyproject.toml

+ 3 - 1
embedchain/embedchain.py

@@ -588,7 +588,7 @@ class EmbedChain(JSONSerializable):
         else:
             return answer
 
-    def search(self, query, num_documents=3, where=None, raw_filter=None):
+    def search(self, query, num_documents=3, where=None, raw_filter=None, namespace=None):
         """
         Search for similar documents related to the query in the vector database.
 
@@ -597,6 +597,7 @@ class EmbedChain(JSONSerializable):
             num_documents (int, optional): Number of similar documents to fetch. Defaults to 3.
             where (dict[str, any], optional): Filter criteria for the search.
             raw_filter (dict[str, any], optional): Advanced raw filter criteria for the search.
+            namespace (str, optional): The namespace to search in. Defaults to None.
 
         Raises:
             ValueError: If both `raw_filter` and `where` are used simultaneously.
@@ -618,6 +619,7 @@ class EmbedChain(JSONSerializable):
             "n_results": num_documents,
             "citations": True,
             "app_id": self.config.id,
+            "namespace": namespace,
             filter_type: filter_criteria,
         }
 

+ 3 - 0
embedchain/vectordb/pinecone.py

@@ -230,6 +230,9 @@ class PineconeDB(BaseVectorDB):
     @staticmethod
     def _generate_filter(where: dict):
         query = {}
+        if where is None:
+            return query
+
         for k, v in where.items():
             query[k] = {"$eq": v}
         return query

+ 1 - 1
pyproject.toml

@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "embedchain"
-version = "0.1.90"
+version = "0.1.91"
 description = "Simplest open source retrieval(RAG) framework"
 authors = [
     "Taranjeet Singh <taranjeet@embedchain.ai>",