Research_Agent / phidata /phi /api /assistant.py
zykrix
Re-added phidata as a normal folder (final fix)
c96b98a
Raw
History Blame Contribute Delete
2.64 kB
from os import getenv
from typing import Union, Dict, List
from httpx import Response
from phi.api.api import api, invalid_response
from phi.api.routes import ApiRoutes
from phi.api.schemas.assistant import (
AssistantEventCreate,
AssistantRunCreate,
)
from phi.constants import PHI_API_KEY_ENV_VAR, PHI_WS_KEY_ENV_VAR
from phi.cli.settings import phi_cli_settings
from phi.utils.log import logger
def create_assistant_run(run: AssistantRunCreate) -> bool:
if not phi_cli_settings.api_enabled:
return True
logger.debug("--o-o-- Creating Assistant Run")
with api.AuthenticatedClient() as api_client:
try:
r: Response = api_client.post(
ApiRoutes.ASSISTANT_RUN_CREATE,
headers={
"Authorization": f"Bearer {getenv(PHI_API_KEY_ENV_VAR)}",
"PHI-WORKSPACE": f"{getenv(PHI_WS_KEY_ENV_VAR)}",
},
json={
"run": run.model_dump(exclude_none=True),
# "workspace": assistant_workspace.model_dump(exclude_none=True),
},
)
if invalid_response(r):
return False
response_json: Union[Dict, List] = r.json()
if response_json is None:
return False
logger.debug(f"Response: {response_json}")
return True
except Exception as e:
logger.debug(f"Could not create assistant run: {e}")
return False
def create_assistant_event(event: AssistantEventCreate) -> bool:
if not phi_cli_settings.api_enabled:
return True
logger.debug("--o-o-- Creating Assistant Event")
with api.AuthenticatedClient() as api_client:
try:
r: Response = api_client.post(
ApiRoutes.ASSISTANT_EVENT_CREATE,
headers={
"Authorization": f"Bearer {getenv(PHI_API_KEY_ENV_VAR)}",
"PHI-WORKSPACE": f"{getenv(PHI_WS_KEY_ENV_VAR)}",
},
json={
"event": event.model_dump(exclude_none=True),
# "workspace": assistant_workspace.model_dump(exclude_none=True),
},
)
if invalid_response(r):
return False
response_json: Union[Dict, List] = r.json()
if response_json is None:
return False
logger.debug(f"Response: {response_json}")
return True
except Exception as e:
logger.debug(f"Could not create assistant event: {e}")
return False