| """ | |
| VectorSearchTool — wraps VectorStoreManager with a clean search interface. | |
| """ | |
| from typing import List, Dict, Any, Optional | |
| class VectorSearchTool: | |
| def __init__(self, vector_store): | |
| self._vs = vector_store | |
| def search( | |
| self, | |
| query: str, | |
| n_results: int = 8, | |
| source_filter: Optional[List[str]] = None, | |
| ) -> List[Dict[str, Any]]: | |
| return self._vs.query(query, n_results=n_results, source_filter=source_filter) | |
| def search_per_source(self, query: str, n_per_source: int = 2) -> List[Dict[str, Any]]: | |
| return self._vs.query_per_source(query, n_per_source=n_per_source) | |
| def list_sources(self) -> List[str]: | |
| return self._vs.list_sources() | |
| def total_chunks(self) -> int: | |
| return self._vs.total_chunks() | |