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:
Mohamed Khalil
2025-11-28 09:10:41 +02:00
committed by GitHub
parent 362309dec3
commit b7ecdaafb7
7 changed files with 851 additions and 2 deletions

View File

@@ -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,
)