Repository: mem0ai/mem0
Pull request: fix VectorStoreBase abstract methods params
## Description

Fixes #2067 

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Refactor (does not change functionality, e.g. code style improvements, linting)
- [ ] Documentation update

## How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Please delete options that are not relevant.

- [ ] Unit Test
- [ ] Test Script (please provide)

## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
- [ ] I have checked my code and corrected any misspellings

## Maintainer Checklist

- [ ] closes #xxxx (Replace xxxx with the GitHub issue number)
- [ ] Made sure Checks passed


Problem statement:
input params of VectorStoreBase abstract class methods is wrong
### 🐛 Describe the bug

for example:
``` python
    @abstractmethod
    def insert(self, name, vectors, payloads=None, ids=None):
        """Insert vectors into a collection."""
        pass
```
but acutal implemention is:
```python
    def insert(self, vectors: list, payloads: list = None, ids: list = None):
        """
        Insert vectors into a collection.

        Args:
            vectors (list): List of vectors to insert.
            payloads (list, optional): List of payloads corresponding to vectors. Defaults to None.
            ids (list, optional): List of IDs corresponding to vectors. Defaults to None.
        """
        logger.info(f"Inserting {len(vectors)} vectors into collection {self.collection_name}")
        points = [
            PointStruct(
                id=idx if ids is None else ids[idx],
                vector=vector,
                payload=payloads[idx] if payloads else {},
            )
            for idx, vector in enumerate(vectors)
        ]
        self.client.upsert(collection_name=self.collection_name, points=points)
```
with out name param.

`name` is not needed in abstract methods

Hints from issue discussion:

Commit message: fix VectorStoreBase abstract methods params

Patch to review:
diff --git a/mem0/vector_stores/base.py b/mem0/vector_stores/base.py
index 21f47f3a09..48ae8334bf 100644
--- a/mem0/vector_stores/base.py
+++ b/mem0/vector_stores/base.py
@@ -3,32 +3,32 @@
 
 class VectorStoreBase(ABC):
     @abstractmethod
-    def create_col(self, name, vector_size, distance):
+    def create_col(self, vector_size, distance):
         """Create a new collection."""
         pass
 
     @abstractmethod
-    def insert(self, name, vectors, payloads=None, ids=None):
+    def insert(self, vectors, payloads=None, ids=None):
         """Insert vectors into a collection."""
         pass
 
     @abstractmethod
-    def search(self, name, query, limit=5, filters=None):
+    def search(self, query, limit=5, filters=None):
         """Search for similar vectors."""
         pass
 
     @abstractmethod
-    def delete(self, name, vector_id):
+    def delete(self, vector_id):
         """Delete a vector by ID."""
         pass
 
     @abstractmethod
-    def update(self, name, vector_id, vector=None, payload=None):
+    def update(self, vector_id, vector=None, payload=None):
         """Update a vector and its payload."""
         pass
 
     @abstractmethod
-    def get(self, name, vector_id):
+    def get(self, vector_id):
         """Retrieve a vector by ID."""
         pass
 
@@ -43,7 +43,7 @@ def delete_col(self):
         pass
 
     @abstractmethod
-    def col_info(self, name):
+    def col_info(self):
         """Get information about a collection."""
         pass
 


Code review comments:
diff_hunk: @@ -3,32 +3,32 @@
 
 class VectorStoreBase(ABC):
     @abstractmethod
-    def create_col(self, name, vector_size, distance):
+    def create_col(self, vector_size, distance):
path: mem0/vector_stores/base.py
text: @user1:
```suggestion
    def create_col(self, name, vector_size, distance):
```