Add schema validation and default value filling for extraction results (#4063)
Co-authored-by: Suchintan <suchintan@users.noreply.github.com>
This commit is contained in:
@@ -67,6 +67,7 @@ from skyvern.forge.sdk.api.files import (
|
||||
)
|
||||
from skyvern.forge.sdk.api.llm.api_handler_factory import LLMAPIHandlerFactory, LLMCallerManager
|
||||
from skyvern.forge.sdk.api.llm.exceptions import LLMProviderError
|
||||
from skyvern.forge.sdk.api.llm.schema_validator import validate_and_fill_extraction_result
|
||||
from skyvern.forge.sdk.core import skyvern_context
|
||||
from skyvern.forge.sdk.core.skyvern_context import current as skyvern_current
|
||||
from skyvern.forge.sdk.core.skyvern_context import ensure_context
|
||||
@@ -3799,6 +3800,13 @@ async def extract_information_for_navigation_goal(
|
||||
force_dict=False,
|
||||
)
|
||||
|
||||
# Validate and fill missing fields based on schema
|
||||
if task.extracted_information_schema:
|
||||
json_response = validate_and_fill_extraction_result(
|
||||
extraction_result=json_response,
|
||||
schema=task.extracted_information_schema,
|
||||
)
|
||||
|
||||
return ScrapeResult(
|
||||
scraped_data=json_response,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user