Update project dependencies and example test files

- Updated requirements.txt with latest package versions
- Added support for filtering query results by IDs in base and operate modules
- Modified PostgreSQL vector storage to include document and chunk ID fields
This commit is contained in:
Roy
2025-03-07 18:45:28 +00:00
parent 5e7ef39998
commit 0ec61d6407
6 changed files with 91 additions and 20 deletions

View File

@@ -81,6 +81,9 @@ class QueryParam:
history_turns: int = 3
"""Number of complete conversation turns (user-assistant pairs) to consider in the response context."""
ids: list[str] | None = None
"""List of ids to filter the results."""
@dataclass
class StorageNameSpace(ABC):
@@ -107,7 +110,7 @@ class BaseVectorStorage(StorageNameSpace, ABC):
meta_fields: set[str] = field(default_factory=set)
@abstractmethod
async def query(self, query: str, top_k: int) -> list[dict[str, Any]]:
async def query(self, query: str, top_k: int, ids: list[str] = None) -> list[dict[str, Any]]:
"""Query the vector storage and retrieve top_k results."""
@abstractmethod