@@ -54,6 +54,7 @@ def __init__(self, async_http_client: httpx.AsyncClient):
5454
5555 @staticmethod
5656 def _build_evaluator_request (
57+ evaluator_slug : str ,
5758 task_id : str ,
5859 experiment_id : str ,
5960 experiment_run_id : str ,
@@ -69,21 +70,25 @@ def _build_evaluator_request(
6970 input_schema_mapping = schema_mapping ,
7071 evaluator_version = evaluator_version ,
7172 evaluator_config = evaluator_config ,
73+ evaluator_slug = evaluator_slug ,
7274 task_id = task_id ,
7375 experiment_id = experiment_id ,
7476 experiment_run_id = experiment_run_id ,
7577 )
7678
77- async def _execute_evaluator_request (
79+ async def _execute_experiment_evaluator_request (
7880 self ,
7981 evaluator_slug : str ,
82+ experiment_slug : str ,
83+ experiment_run_id : str ,
84+ task_id : str ,
8085 request : ExecuteEvaluatorRequest ,
8186 timeout_in_sec : int = 120 ,
8287 ) -> ExecuteEvaluatorResponse :
8388 """Execute evaluator request and return response"""
8489 body = request .model_dump ()
8590 client = self ._async_http_client
86- full_url = f"/v2/evaluators/slug/ { evaluator_slug } /execute "
91+ full_url = f"/v2/experiments/ { experiment_slug } /runs/ { experiment_run_id } /tasks/ { task_id } "
8792 response = await client .post (
8893 full_url , json = body , timeout = httpx .Timeout (timeout_in_sec )
8994 )
@@ -99,6 +104,7 @@ async def _execute_evaluator_request(
99104 async def run_experiment_evaluator (
100105 self ,
101106 evaluator_slug : str ,
107+ experiment_slug : str ,
102108 task_id : str ,
103109 experiment_id : str ,
104110 experiment_run_id : str ,
@@ -126,11 +132,11 @@ async def run_experiment_evaluator(
126132 _validate_evaluator_input (evaluator_slug , input , evaluator_config )
127133
128134 request = self ._build_evaluator_request (
129- task_id , experiment_id , experiment_run_id , input , evaluator_version , evaluator_config
135+ evaluator_slug , task_id , experiment_id , experiment_run_id , input , evaluator_version , evaluator_config
130136 )
131137
132- execute_response = await self ._execute_evaluator_request (
133- evaluator_slug , request , timeout_in_sec
138+ execute_response = await self ._execute_experiment_evaluator_request (
139+ evaluator_slug , experiment_slug , experiment_run_id , task_id , request , timeout_in_sec
134140 )
135141
136142 sse_client = SSEClient (shared_client = self ._async_http_client )
@@ -145,6 +151,7 @@ async def run_experiment_evaluator(
145151 async def trigger_experiment_evaluator (
146152 self ,
147153 evaluator_slug : str ,
154+ experiment_slug : str ,
148155 task_id : str ,
149156 experiment_id : str ,
150157 experiment_run_id : str ,
@@ -170,11 +177,11 @@ async def trigger_experiment_evaluator(
170177 _validate_evaluator_input (evaluator_slug , input , evaluator_config )
171178
172179 request = self ._build_evaluator_request (
173- task_id , experiment_id , experiment_run_id , input , evaluator_version , evaluator_config
180+ evaluator_slug , task_id , experiment_id , experiment_run_id , input , evaluator_version , evaluator_config
174181 )
175182
176- execute_response = await self ._execute_evaluator_request (
177- evaluator_slug , request , 120
183+ execute_response = await self ._execute_experiment_evaluator_request (
184+ evaluator_slug , experiment_slug , experiment_run_id , task_id , request , 120
178185 )
179186
180187 # Return execution_id without waiting for SSE result
0 commit comments