53 lines
1.3 KiB
JSON
53 lines
1.3 KiB
JSON
|
|
{
|
||
|
|
"id": "config_llm_structured_extraction",
|
||
|
|
"description": "Tests structured extraction via liter-llm with JSON schema",
|
||
|
|
"tags": ["contract", "config", "liter-llm", "structured-extraction"],
|
||
|
|
"call": "extract_file_sync",
|
||
|
|
"input": {
|
||
|
|
"path": "pdf/fake_memo.pdf",
|
||
|
|
"config": {
|
||
|
|
"structured_extraction": {
|
||
|
|
"schema": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"title": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"date": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"summary": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": ["title"]
|
||
|
|
},
|
||
|
|
"schema_name": "memo_data",
|
||
|
|
"llm": {
|
||
|
|
"model": "openai/gpt-4o"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"assertions": [
|
||
|
|
{
|
||
|
|
"type": "equals",
|
||
|
|
"field": "mime_type",
|
||
|
|
"value": "application/pdf"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "min_length",
|
||
|
|
"field": "content",
|
||
|
|
"value": 10
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "not_empty",
|
||
|
|
"field": "structured_output"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"skip": {
|
||
|
|
"languages": ["python", "rust", "node", "go", "ruby", "elixir", "wasm", "java", "csharp", "php", "r", "dart", "kotlin_android", "swift", "zig"],
|
||
|
|
"reason": "Requires liter-llm feature and KREUZBERG_LLM_API_KEY env var; runtime-only skip"
|
||
|
|
}
|
||
|
|
}
|