agentsociety.webapi.api.experiment_runner

Module Contents

Classes

ConfigPrimaryKey

Config primary key model

ExperimentRequest

Experiment request model

ExperimentResponse

Experiment response model

Functions

run_experiment

Start a new experiment

delete_experiment

Delete an experiment pod

get_experiment_logs

Get experiment pod logs

get_experiment_status

Get experiment pod status

finish_experiment

Finish an experiment

_compute_commercial_bill

compute commercial bill

_check_commercial_balance

check commercial balance

_record_experiment_bill

record experiment bill

Data

API

agentsociety.webapi.api.experiment_runner.__all__

[‘router’]

agentsociety.webapi.api.experiment_runner.router

‘APIRouter(…)’

agentsociety.webapi.api.experiment_runner.logger

‘getLogger(…)’

class agentsociety.webapi.api.experiment_runner.ConfigPrimaryKey

Bases: pydantic.BaseModel

Config primary key model

tenant_id: str

None

id: str

None

class agentsociety.webapi.api.experiment_runner.ExperimentRequest

Bases: pydantic.BaseModel

Experiment request model

llm: agentsociety.webapi.api.experiment_runner.ConfigPrimaryKey

None

agents: agentsociety.webapi.api.experiment_runner.ConfigPrimaryKey

None

map: agentsociety.webapi.api.experiment_runner.ConfigPrimaryKey

None

workflow: agentsociety.webapi.api.experiment_runner.ConfigPrimaryKey

None

exp_name: str

None

class agentsociety.webapi.api.experiment_runner.ExperimentResponse

Bases: pydantic.BaseModel

Experiment response model

id: str

None

async agentsociety.webapi.api.experiment_runner.run_experiment(request: fastapi.Request, config: agentsociety.webapi.api.experiment_runner.ExperimentRequest = Body(...)) agentsociety.webapi.models.ApiResponseWrapper[agentsociety.webapi.api.experiment_runner.ExperimentResponse]

Start a new experiment

async agentsociety.webapi.api.experiment_runner.delete_experiment(request: fastapi.Request, exp_id: str)

Delete an experiment pod

async agentsociety.webapi.api.experiment_runner.get_experiment_logs(request: fastapi.Request, exp_id: str) str

Get experiment pod logs

async agentsociety.webapi.api.experiment_runner.get_experiment_status(request: fastapi.Request, exp_id: str) agentsociety.webapi.models.ApiResponseWrapper[str]

Get experiment pod status

async agentsociety.webapi.api.experiment_runner.finish_experiment(request: fastapi.Request, exp_id: str, callback_auth_token: str = Query(...))

Finish an experiment

async agentsociety.webapi.api.experiment_runner._compute_commercial_bill(app_state, db: sqlalchemy.ext.asyncio.AsyncSession, experiment: agentsociety.webapi.models.experiment.Experiment)

compute commercial bill

async agentsociety.webapi.api.experiment_runner._check_commercial_balance(app_state, tenant_id: str, db: sqlalchemy.ext.asyncio.AsyncSession)

check commercial balance

async agentsociety.webapi.api.experiment_runner._record_experiment_bill(app_state, db: sqlalchemy.ext.asyncio.AsyncSession, tenant_id: str, exp_id: uuid.UUID, llm_config_id: Optional[uuid.UUID] = None)

record experiment bill