CUA feature - extraction data combined assisstant's message (#2157)
This commit is contained in:
@@ -1165,7 +1165,9 @@ class ForgeAgent:
|
||||
):
|
||||
working_page = await browser_state.must_get_working_page()
|
||||
# refresh task in case the extracted information is updated previously
|
||||
task = await app.DATABASE.get_task(task.task_id, task.organization_id)
|
||||
refreshed_task = await app.DATABASE.get_task(task.task_id, task.organization_id)
|
||||
assert refreshed_task is not None
|
||||
task = refreshed_task
|
||||
extract_action = await self.create_extract_action(task, step, scraped_page)
|
||||
extract_results = await ActionHandler.handle_action(
|
||||
scraped_page, task, step, working_page, extract_action
|
||||
|
||||
@@ -14,7 +14,7 @@ If you are trying to extract the href links which are using the jinja style like
|
||||
User Data Extraction Goal: {{ data_extraction_goal }}
|
||||
|
||||
{% if previous_extracted_information %}
|
||||
Previous contexts or thoughts: {{ previous_extracted_information }}
|
||||
Previous contexts or thoughts: ```{{ previous_extracted_information }}```
|
||||
{% endif %}
|
||||
|
||||
{% if error_code_mapping_str %}
|
||||
|
||||
@@ -232,9 +232,6 @@ class Task(TaskBase):
|
||||
if status.cant_have_extracted_info() and extracted_information is not None:
|
||||
raise ValueError(f"status_cant_have_extracted_information({self.task_id})")
|
||||
|
||||
if self.extracted_information is not None and extracted_information is not None:
|
||||
raise ValueError(f"cant_override_extracted_information({self.task_id})")
|
||||
|
||||
if self.failure_reason is not None and failure_reason is not None:
|
||||
raise ValueError(f"cant_override_failure_reason({self.task_id})")
|
||||
|
||||
|
||||
@@ -338,20 +338,19 @@ async def parse_cua_actions(
|
||||
intention=reasoning,
|
||||
)
|
||||
if skyvern_action_type == "complete":
|
||||
if not task.data_extraction_goal and useful_information:
|
||||
LOG.info(
|
||||
"Updating task with useful information",
|
||||
task_id=task.task_id,
|
||||
organization_id=task.organization_id,
|
||||
useful_information=useful_information,
|
||||
assistant_message=assistant_message,
|
||||
reasoning=reasoning,
|
||||
)
|
||||
await app.DATABASE.update_task(
|
||||
task.task_id,
|
||||
organization_id=task.organization_id,
|
||||
extracted_information=assistant_message,
|
||||
)
|
||||
LOG.info(
|
||||
"Updating task with useful information",
|
||||
task_id=task.task_id,
|
||||
organization_id=task.organization_id,
|
||||
useful_information=useful_information,
|
||||
assistant_message=assistant_message,
|
||||
reasoning=reasoning,
|
||||
)
|
||||
await app.DATABASE.update_task(
|
||||
task.task_id,
|
||||
organization_id=task.organization_id,
|
||||
extracted_information=assistant_message,
|
||||
)
|
||||
action = CompleteAction(
|
||||
reasoning=reasoning,
|
||||
intention=reasoning,
|
||||
|
||||
Reference in New Issue
Block a user