| 123456789101112131415161718192021222324252627282930313233343536373839 |
- from data_query_agent.models import QueryAnalysis, QueryDecision, SkillParameters
- def test_structured_output_schemas_require_every_property() -> None:
- for model in (SkillParameters, QueryDecision, QueryAnalysis):
- schema = model.model_json_schema()
- assert set(schema["required"]) == set(schema["properties"])
- assert schema["additionalProperties"] is False
- def test_query_decision_supports_direct_natural_language_reply() -> None:
- decision = QueryDecision(
- status="ready",
- reply="产品效率报表中的 ROV 是回流 UV 与 DAU 的比值。",
- title="数据助手回复",
- selected_skill="odps-product-efficiency-report",
- execution_mode="direct_reply",
- sql=None,
- parameters=SkillParameters(
- user_id=None,
- date=None,
- apptype=None,
- realtime=None,
- app_type=None,
- date_from=None,
- date_to=None,
- data_mode=None,
- bucket_position_from_end=None,
- experiment_buckets=None,
- control_buckets=None,
- version=None,
- first_layer_rule=None,
- exclude_qywx=None,
- ),
- assumptions=[],
- )
- assert decision.execution_mode == "direct_reply"
- assert decision.sql is None
|