Spaces:
Sleeping
Sleeping
| from typing import Any, Optional | |
| from omagent_core.utils.registry import registry | |
| from pydantic import Field | |
| from pymilvus import MilvusClient | |
| from .base import ConnectorBase | |
| class MilvusConnector(ConnectorBase): | |
| host: str = Field(default="./db.db") | |
| port: int = Field(default=19530) | |
| password: str = Field(default="") | |
| username: Optional[str] = Field(default="default") | |
| db: Optional[str] = Field(default="default") | |
| alias: Optional[str] = Field(default="alias") | |
| def model_post_init(self, __context: Any) -> None: | |
| try: | |
| self._client = MilvusClient( | |
| uri=self.host, | |
| user=self.username, | |
| password=self.password, | |
| db_name=self.db, | |
| ) | |
| except Exception as e: | |
| raise ConnectionError( | |
| f"Connection to Milvus failed. Please check your connector config in container.yaml. \n Error Message: {e}" | |
| ) | |
| def check_connection(self) -> bool: | |
| """Check if the connection to Milvus is valid.""" | |
| # Try to list collections to verify connection | |
| self._client.list_collections() | |