smoke_test.py 1.1 KB

123456789101112131415161718192021222324252627282930
  1. from app.config import get_settings
  2. from app.schemas import QueryRequest
  3. from app.service import AgenticRAGService
  4. def main() -> None:
  5. service = AgenticRAGService(get_settings())
  6. response = service.invoke(
  7. QueryRequest(
  8. query=(
  9. "统计 U1001 最近 30 天有效订单数、实付总额和低于 99 元的订单数,"
  10. "并结合内部运费规则说明是否存在需支付基础运费的订单。"
  11. ),
  12. debug=True,
  13. )
  14. )
  15. print(response.model_dump_json(indent=2))
  16. if response.termination_reason != "evidence_accepted":
  17. raise SystemExit("Smoke Test 未通过:证据未被接受。")
  18. if {item.source_type for item in response.citations} != {"milvus", "sql"}:
  19. raise SystemExit("Smoke Test 未通过:未同时获得 Milvus 与 SQL 证据。")
  20. if {item["tool"] for item in response.executed_queries} != {
  21. "milvus_search",
  22. "sql_query",
  23. }:
  24. raise SystemExit("Smoke Test 未通过:实际工具 Query 记录不完整。")
  25. if __name__ == "__main__":
  26. main()