Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """ | |
| OPIK utilities for Second Brain AI Assistant. | |
| """ | |
| import os | |
| from loguru import logger | |
| import opik | |
| from opik import OpikConfigurator | |
| from second_brain_online.config import settings | |
| def configure() -> None: | |
| if settings.COMET_API_KEY: | |
| try: | |
| client = OpikConfigurator(api_key=settings.COMET_API_KEY) | |
| default_workspace = client._get_default_workspace() | |
| except Exception: | |
| logger.warning( | |
| "Default workspace not found. Setting workspace to None and enabling interactive mode." | |
| ) | |
| default_workspace = None | |
| os.environ["OPIK_PROJECT_NAME"] = settings.COMET_PROJECT or "second_brain_course" | |
| opik.configure( | |
| api_key=settings.COMET_API_KEY, | |
| workspace=default_workspace, | |
| use_local=False, | |
| force=True, | |
| ) | |
| logger.info( | |
| f"Opik configured successfully using workspace '{default_workspace}'" | |
| ) | |
| else: | |
| logger.warning( | |
| "COMET_API_KEY is not set. Set it to enable prompt monitoring with Opik (powered by Comet ML)." | |
| ) | |
| def get_or_create_dataset(name: str, prompts: list[str]) -> opik.Dataset | None: | |
| client = opik.Opik() | |
| try: | |
| dataset = client.get_dataset(name) | |
| if dataset is None: | |
| dataset = client.create_dataset(name, prompts) | |
| return dataset | |
| except Exception as e: | |
| logger.error(f"Error getting or creating dataset: {e}") | |
| return None | |