task v2 refactor part 10: ObserverTask -> TaskV2 in backend code (#1839)
This commit is contained in:
@@ -12,7 +12,7 @@ from pydantic import BaseModel
|
||||
from skyvern.forge import app
|
||||
from skyvern.forge.prompts import prompt_engine
|
||||
from skyvern.forge.sdk.api.files import create_folder_if_not_exist
|
||||
from skyvern.forge.sdk.schemas.task_v2 import ObserverTask, ObserverTaskRequest
|
||||
from skyvern.forge.sdk.schemas.task_v2 import TaskV2, TaskV2Request
|
||||
from skyvern.forge.sdk.schemas.tasks import ProxyLocation, TaskRequest, TaskResponse, TaskStatus
|
||||
from skyvern.forge.sdk.workflow.models.workflow import WorkflowRequestBody, WorkflowRunStatus, WorkflowRunStatusResponse
|
||||
|
||||
@@ -55,12 +55,12 @@ class SkyvernClient:
|
||||
assert "workflow_run_id" in response.json(), f"Failed to create workflow run: {response.text}"
|
||||
return response.json()["workflow_run_id"]
|
||||
|
||||
def create_task_v2(self, task_v2_request: ObserverTaskRequest, max_steps: int | None = None) -> ObserverTask:
|
||||
def create_task_v2(self, task_v2_request: TaskV2Request, max_steps: int | None = None) -> TaskV2:
|
||||
url = f"{self.v2_base_url}/tasks"
|
||||
payload, headers = self.generate_curl_params(task_v2_request, max_steps=max_steps)
|
||||
response = requests.post(url, headers=headers, data=payload)
|
||||
assert "task_id" in response.json(), f"Failed to create task v2: {response.text}"
|
||||
return ObserverTask.model_validate(response.json())
|
||||
return TaskV2.model_validate(response.json())
|
||||
|
||||
def get_task(self, task_id: str) -> TaskResponse:
|
||||
"""Get a task by id."""
|
||||
@@ -213,7 +213,7 @@ class Evaluator:
|
||||
assert workflow_run_id
|
||||
return workflow_run_id
|
||||
|
||||
def queue_skyvern_cruise(self, cruise_request: ObserverTaskRequest, max_step: int | None = None) -> ObserverTask:
|
||||
def queue_skyvern_task_v2(self, cruise_request: TaskV2Request, max_step: int | None = None) -> TaskV2:
|
||||
cruise = self.client.create_task_v2(task_v2_request=cruise_request, max_steps=max_step)
|
||||
self._save_artifact("cruise.json", cruise.model_dump_json(indent=2).encode())
|
||||
return cruise
|
||||
|
||||
@@ -10,7 +10,7 @@ from evaluation.core import Evaluator, SkyvernClient
|
||||
from evaluation.core.utils import load_webvoyager_case_from_json
|
||||
from skyvern.forge import app
|
||||
from skyvern.forge.prompts import prompt_engine
|
||||
from skyvern.forge.sdk.schemas.task_v2 import ObserverTaskRequest
|
||||
from skyvern.forge.sdk.schemas.task_v2 import TaskV2Request
|
||||
|
||||
load_dotenv()
|
||||
|
||||
@@ -37,21 +37,21 @@ async def create_task_v2(
|
||||
case_data.question = tweaked_user_goal
|
||||
|
||||
evaluator = Evaluator(client=client, artifact_folder=f"test/artifacts/{case_data.group_id}/{case_data.id}")
|
||||
request_body = ObserverTaskRequest(
|
||||
request_body = TaskV2Request(
|
||||
url=case_data.url,
|
||||
user_prompt=case_data.question,
|
||||
)
|
||||
cruise = evaluator.queue_skyvern_cruise(cruise_request=request_body, max_step=case_data.max_steps)
|
||||
task_v2 = evaluator.queue_skyvern_task_v2(cruise_request=request_body, max_step=case_data.max_steps)
|
||||
dumped_data = case_data.model_dump()
|
||||
dumped_data.update(
|
||||
{
|
||||
"task_v2_id": cruise.observer_cruise_id,
|
||||
"workflow_run_id": cruise.workflow_run_id,
|
||||
"workflow_permanent_id": cruise.workflow_permanent_id,
|
||||
"cruise_url": str(cruise.url) if cruise.url else cruise.url,
|
||||
"task_v2_id": task_v2.observer_cruise_id,
|
||||
"workflow_run_id": task_v2.workflow_run_id,
|
||||
"workflow_permanent_id": task_v2.workflow_permanent_id,
|
||||
"cruise_url": str(task_v2.url) if task_v2.url else task_v2.url,
|
||||
}
|
||||
)
|
||||
print(f"Queued {cruise.observer_cruise_id} for {case_data.model_dump_json()}")
|
||||
print(f"Queued {task_v2.observer_cruise_id} for {case_data.model_dump_json()}")
|
||||
f.write(json.dumps(dumped_data) + "\n")
|
||||
cnt += 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user