АДРЕСНЫЙ РЕЖИМ -ADDRESS:Шаг 1 - ЛЛМ ФЕРСТ + feat(address): стабилизация wave1 dynamic resolver контрагентов, follow-up carryover и актуализация docs/tests

This commit is contained in:
2026-04-02 23:11:49 +03:00
parent 53716e548e
commit 88094c09f8
243 changed files with 94296 additions and 181 deletions
@@ -0,0 +1,28 @@
# 2026-04-02_Address_ReverseVariations_AfterNextPack
Generated at: 2026-04-02T21:06:51
Questions file: X:\1C\NDC_1C\docs\ADDRESS\question_sets\temp_reverse_variations_2026-04-02.json
Backend URL: http://127.0.0.1:8787/api/assistant/message
LLM: local / qwen2.5-14b-instruct-1m @ http://127.0.0.1:1234
Strict policy: factual
## Totals
- questions_total: 4
- ok_200_count: 4
- semantic_pass_count: 4
- semantic_pass_rate: 1.0
- route_pass_count: 4
- route_pass_rate: 1.0
- strict_pass_count: 4
- strict_pass_rate: 1.0
- factual_count: 4
- partial_coverage_count: 0
- clarification_required_count: 0
- http_error_count: 0
- llm_decomposition_applied_count: 0
- avg_elapsed_ms: 4023.8
## Files
- run_summary.json
- full_live_results.json
- failures_only.json
@@ -0,0 +1,628 @@
{
"run_id": "2026-04-02_Address_ReverseVariations_AfterNextPack",
"generated_at": "2026-04-02T21:06:51",
"summary": {
"run_id": "2026-04-02_Address_ReverseVariations_AfterNextPack",
"generated_at": "2026-04-02T21:06:51",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\temp_reverse_variations_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "factual",
"totals": {
"questions_total": 4,
"ok_200_count": 4,
"semantic_pass_count": 4,
"semantic_pass_rate": 1.0,
"route_pass_count": 4,
"route_pass_rate": 1.0,
"strict_pass_count": 4,
"strict_pass_rate": 1.0,
"factual_count": 4,
"partial_coverage_count": 0,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 0,
"avg_elapsed_ms": 4023.8
},
"distributions": {
"reply_type": {
"factual": 4
},
"actual_intent": {
"period_coverage_profile": 2,
"document_type_and_account_section_profile": 2
},
"actual_mode": {
"address_query": 4
},
"mcp_call_status": {
"matched_non_empty": 4
},
"limited_reason_category": {},
"route_health": {
"ok_or_factual": 4
}
}
},
"rows": [
{
"index": 1,
"id": "R001",
"question": "Какой год самый пассивный по количеству документов?",
"session": null,
"session_id": "asst-2026-04-02_Address_ReverseVariations_AfterNextPack-r001",
"status_code": 200,
"ok": true,
"elapsed_ms": 6869,
"reply_type": "factual",
"trace_id": "address-v7cBUbzjuB",
"assistant_reply": "Профиль периодов базы собран (movement-based aggregate).\nСтрок агрегата: 134.\nСамый пассивный год по документам: 2022 (87).\n1. 2022: 87\n2. 2014: 115\n3. 2021: 308\n4. 2017: 456\n5. 2020: 536",
"assistant_reply_first_line": "Профиль периодов базы собран (movement-based aggregate).",
"expected_intent": null,
"actual_intent": "period_coverage_profile",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": true,
"route_pass": true,
"route_health": "ok_or_factual",
"strict_policy": "factual",
"strict_pass": true,
"selected_recipe": "address_period_coverage_profile_v1",
"missing_required_filters": [],
"match_failure_stage": "none",
"match_failure_reason": null,
"rows_fetched": 134,
"rows_matched": 134,
"mcp_call_status": "matched_non_empty",
"limited_reason_category": null,
"llm_decomposition_applied": false,
"llm_decomposition_reason": "normalized_fragment_rejected_intent_conflict",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-v7cBUbzjuB",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "none",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "grounded",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"management_profile_signal_detected",
"document_list_signal_detected",
"period_coverage_profile_signal_detected"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "medium",
"query_shape": "DOCUMENT_LIST",
"query_shape_confidence": "medium",
"detected_intent": "period_coverage_profile",
"detected_intent_confidence": "high",
"extracted_filters": {
"sort": "period_desc",
"period_to": "2026-04-02"
},
"missing_required_filters": [],
"selected_recipe": "address_period_coverage_profile_v1",
"mcp_call_status_legacy": "matched_non_empty",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": false,
"anchor_type": "unknown",
"anchor_value_raw": null,
"anchor_value_resolved": null,
"resolver_confidence": "low",
"ambiguity_count": 0,
"match_failure_stage": "none",
"match_failure_reason": null,
"mcp_call_status": "matched_non_empty",
"rows_fetched": 134,
"raw_rows_received": 134,
"rows_after_account_scope": 134,
"rows_after_recipe_filter": 134,
"rows_materialized": 134,
"rows_matched": 134,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Period",
"Registrator",
"Amount"
],
"materialization_drop_reason": "none",
"account_token_raw": null,
"account_token_normalized": null,
"account_scope_fields_checked": [
"account_dt",
"account_kt",
"registrator",
"analytics"
],
"account_scope_match_strategy": "account_code_regex_plus_alias_map_v1",
"account_scope_drop_reason": "not_applicable",
"runtime_readiness": "LIVE_QUERYABLE_WITH_LIMITS",
"limited_reason_category": null,
"response_type": "FACTUAL_SUMMARY",
"execution_lane": "address_query",
"llm_decomposition_applied": false,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "Mzc3Ud1_QXtcJ4",
"llm_decomposition_effective_message": "Какой год самый пассивный по количеству документов?",
"llm_decomposition_reason": "normalized_fragment_rejected_intent_conflict",
"fallback_rule_hit": null,
"sanitized_user_message": "какой год самый пассивный по количеству документов?",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "Mzc3Ud1_QXtcJ4",
"prompt_version": "normalizer_v2_0_2",
"applied": false,
"effective_message": "Какой год самый пассивный по количеству документов?"
}
},
"error_code": null,
"error_message": null
},
{
"index": 2,
"id": "R002",
"question": "Какой месяц самый пассивный по количеству операций?",
"session": null,
"session_id": "asst-2026-04-02_Address_ReverseVariations_AfterNextPack-r002",
"status_code": 200,
"ok": true,
"elapsed_ms": 2039,
"reply_type": "factual",
"trace_id": "address-dWXKrv8Y3z",
"assistant_reply": "Профиль периодов базы собран (movement-based aggregate).\nСтрок агрегата: 134.\nСамый пассивный месяц по операциям: 2014-05 (3).\n1. 2014-05: 3\n2. 2022-11: 6\n3. 2014-09: 8\n4. 2022-09: 9\n5. 2022-10: 9",
"assistant_reply_first_line": "Профиль периодов базы собран (movement-based aggregate).",
"expected_intent": null,
"actual_intent": "period_coverage_profile",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": true,
"route_pass": true,
"route_health": "ok_or_factual",
"strict_policy": "factual",
"strict_pass": true,
"selected_recipe": "address_period_coverage_profile_v1",
"missing_required_filters": [],
"match_failure_stage": "none",
"match_failure_reason": null,
"rows_fetched": 134,
"rows_matched": 134,
"mcp_call_status": "matched_non_empty",
"limited_reason_category": null,
"llm_decomposition_applied": false,
"llm_decomposition_reason": "not_address_like",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-dWXKrv8Y3z",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "none",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "grounded",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"management_profile_signal_detected",
"shape_not_detected",
"period_coverage_profile_signal_detected"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "medium",
"query_shape": "UNKNOWN",
"query_shape_confidence": "low",
"detected_intent": "period_coverage_profile",
"detected_intent_confidence": "high",
"extracted_filters": {
"sort": "period_desc",
"period_to": "2026-04-02"
},
"missing_required_filters": [],
"selected_recipe": "address_period_coverage_profile_v1",
"mcp_call_status_legacy": "matched_non_empty",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": false,
"anchor_type": "unknown",
"anchor_value_raw": null,
"anchor_value_resolved": null,
"resolver_confidence": "low",
"ambiguity_count": 0,
"match_failure_stage": "none",
"match_failure_reason": null,
"mcp_call_status": "matched_non_empty",
"rows_fetched": 134,
"raw_rows_received": 134,
"rows_after_account_scope": 134,
"rows_after_recipe_filter": 134,
"rows_materialized": 134,
"rows_matched": 134,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Period",
"Registrator",
"Amount"
],
"materialization_drop_reason": "none",
"account_token_raw": null,
"account_token_normalized": null,
"account_scope_fields_checked": [
"account_dt",
"account_kt",
"registrator",
"analytics"
],
"account_scope_match_strategy": "account_code_regex_plus_alias_map_v1",
"account_scope_drop_reason": "not_applicable",
"runtime_readiness": "LIVE_QUERYABLE_WITH_LIMITS",
"limited_reason_category": null,
"response_type": "FACTUAL_SUMMARY",
"execution_lane": "address_query",
"llm_decomposition_applied": false,
"llm_decomposition_attempted": false,
"llm_provider_used": "local",
"llm_decomposition_trace_id": null,
"llm_decomposition_effective_message": "Какой месяц самый пассивный по количеству операций?",
"llm_decomposition_reason": "not_address_like",
"fallback_rule_hit": null,
"sanitized_user_message": "какой месяц самый пассивный по количеству операций?",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": null
},
"error_code": null,
"error_message": null
},
{
"index": 3,
"id": "R003",
"question": "Какие типы документов используются реже всего в базе?",
"session": null,
"session_id": "asst-2026-04-02_Address_ReverseVariations_AfterNextPack-r003",
"status_code": 200,
"ok": true,
"elapsed_ms": 6089,
"reply_type": "factual",
"trace_id": "address-ZeKL6uc-Bc",
"assistant_reply": "Профиль типов документов и разделов учета собран (movement-based aggregate).\nСтрок агрегата: 147.\nНаименее используемые типы документов (по числу уникальных регистраторов):\n1. Формирование записей книги продаж: 2 (0.0%)\n2. Принятие к учету ОС: 3 (0.1%)\n3. Комплектация номенклатуры: 10 (0.2%)\n4. Корректировка реализации: 10 (0.2%)\n5. Авансовый отчет: 12 (0.3%)\n6. Формирование записей книги покупок: 13 (0.3%)\n7. Поступление из переработки: 15 (0.3%)\n8. Передача товаров: 16 (0.4%)\n9. Требование-накладная: 45 (1.0%)\n10. Расходный кассовый ордер: 73 (1.6%)",
"assistant_reply_first_line": "Профиль типов документов и разделов учета собран (movement-based aggregate).",
"expected_intent": null,
"actual_intent": "document_type_and_account_section_profile",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": true,
"route_pass": true,
"route_health": "ok_or_factual",
"strict_policy": "factual",
"strict_pass": true,
"selected_recipe": "address_document_type_and_account_section_profile_v1",
"missing_required_filters": [],
"match_failure_stage": "none",
"match_failure_reason": null,
"rows_fetched": 147,
"rows_matched": 147,
"mcp_call_status": "matched_non_empty",
"limited_reason_category": null,
"llm_decomposition_applied": false,
"llm_decomposition_reason": "normalized_fragment_same",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-ZeKL6uc-Bc",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "none",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "grounded",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"address_action_detected",
"address_entity_detected",
"document_list_signal_detected",
"document_type_and_account_section_profile_signal_detected"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "high",
"query_shape": "DOCUMENT_LIST",
"query_shape_confidence": "medium",
"detected_intent": "document_type_and_account_section_profile",
"detected_intent_confidence": "high",
"extracted_filters": {
"sort": "period_desc",
"period_to": "2026-04-02"
},
"missing_required_filters": [],
"selected_recipe": "address_document_type_and_account_section_profile_v1",
"mcp_call_status_legacy": "matched_non_empty",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": false,
"anchor_type": "unknown",
"anchor_value_raw": null,
"anchor_value_resolved": null,
"resolver_confidence": "low",
"ambiguity_count": 0,
"match_failure_stage": "none",
"match_failure_reason": null,
"mcp_call_status": "matched_non_empty",
"rows_fetched": 147,
"raw_rows_received": 147,
"rows_after_account_scope": 147,
"rows_after_recipe_filter": 147,
"rows_materialized": 147,
"rows_matched": 147,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Period",
"Registrator",
"AccountDt",
"Amount"
],
"materialization_drop_reason": "none",
"account_token_raw": null,
"account_token_normalized": null,
"account_scope_fields_checked": [
"account_dt",
"account_kt",
"registrator",
"analytics"
],
"account_scope_match_strategy": "account_code_regex_plus_alias_map_v1",
"account_scope_drop_reason": "not_applicable",
"runtime_readiness": "LIVE_QUERYABLE_WITH_LIMITS",
"limited_reason_category": null,
"response_type": "FACTUAL_SUMMARY",
"execution_lane": "address_query",
"llm_decomposition_applied": false,
"llm_decomposition_attempted": true,
"llm_provider_used": "local",
"llm_decomposition_trace_id": "tWOmN3ghgN9AE4",
"llm_decomposition_effective_message": "Какие типы документов используются реже всего в базе?",
"llm_decomposition_reason": "normalized_fragment_same",
"fallback_rule_hit": null,
"sanitized_user_message": "какие типы документов используются реже всего в базе?",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": {
"trace_id": "tWOmN3ghgN9AE4",
"prompt_version": "normalizer_v2_0_2",
"applied": false,
"effective_message": "Какие типы документов используются реже всего в базе?"
}
},
"error_code": null,
"error_message": null
},
{
"index": 4,
"id": "R004",
"question": "Какие разделы учета наименее заполнены?",
"session": null,
"session_id": "asst-2026-04-02_Address_ReverseVariations_AfterNextPack-r004",
"status_code": 200,
"ok": true,
"elapsed_ms": 1098,
"reply_type": "factual",
"trace_id": "address-X7F6Lsuoho",
"assistant_reply": "Профиль типов документов и разделов учета собран (movement-based aggregate).\nСтрок агрегата: 147.\nНаименее заполненные разделы учета (по операциям Дт+Кт):\n1. 58 (Финансовые вложения): 2 (0.0%)\n2. 81 (Собственные акции (доли)): 2 (0.0%)\n3. 80 (Уставный капитал): 5 (0.0%)\n4. 03: 6 (0.0%)\n5. 04 (Нематериальные активы): 6 (0.0%)\n6. 75 (Расчеты с учредителями): 16 (0.1%)\n7. 55 (Специальные счета в банках): 18 (0.1%)\n8. 84 (Нераспределенная прибыль (непокрытый убыток)): 20 (0.1%)\n9. 26 (Общехозяйственные расходы): 51 (0.2%)\n10. 71 (Расчеты с подотчетными лицами): 76 (0.3%)",
"assistant_reply_first_line": "Профиль типов документов и разделов учета собран (movement-based aggregate).",
"expected_intent": null,
"actual_intent": "document_type_and_account_section_profile",
"intent_match": true,
"expected_mode": "address_query",
"actual_mode": "address_query",
"mode_match": true,
"expected_reply_type": null,
"reply_match": true,
"semantic_pass": true,
"route_pass": true,
"route_health": "ok_or_factual",
"strict_policy": "factual",
"strict_pass": true,
"selected_recipe": "address_document_type_and_account_section_profile_v1",
"missing_required_filters": [],
"match_failure_stage": "none",
"match_failure_reason": null,
"rows_fetched": 147,
"rows_matched": 147,
"mcp_call_status": "matched_non_empty",
"limited_reason_category": null,
"llm_decomposition_applied": false,
"llm_decomposition_reason": "not_address_like",
"fallback_rule_hit": null,
"debug_payload": {
"trace_id": "address-X7F6Lsuoho",
"prompt_version": "address_query_runtime_v1",
"schema_version": "address_query_runtime_v1",
"fallback_type": "none",
"route_summary": null,
"fragments": [],
"requirements_extracted": [],
"coverage_report": {
"requirements_total": 0,
"requirements_covered": 0,
"requirements_uncovered": [],
"requirements_partially_covered": [],
"clarification_needed_for": [],
"out_of_scope_requirements": []
},
"routes": [],
"retrieval_status": [],
"retrieval_results": [],
"answer_grounding_check": {
"status": "grounded",
"route_subject_match": true,
"missing_requirements": [],
"reasons": [
"management_profile_signal_detected",
"shape_not_detected",
"document_type_and_account_section_profile_signal_detected"
],
"why_included_summary": [],
"selection_reason_summary": []
},
"dropped_intent_segments": [],
"detected_mode": "address_query",
"detected_mode_confidence": "medium",
"query_shape": "UNKNOWN",
"query_shape_confidence": "low",
"detected_intent": "document_type_and_account_section_profile",
"detected_intent_confidence": "high",
"extracted_filters": {
"sort": "period_desc",
"period_to": "2026-04-02"
},
"missing_required_filters": [],
"selected_recipe": "address_document_type_and_account_section_profile_v1",
"mcp_call_status_legacy": "matched_non_empty",
"account_scope_mode": "preferred",
"account_scope_fallback_applied": false,
"anchor_type": "unknown",
"anchor_value_raw": null,
"anchor_value_resolved": null,
"resolver_confidence": "low",
"ambiguity_count": 0,
"match_failure_stage": "none",
"match_failure_reason": null,
"mcp_call_status": "matched_non_empty",
"rows_fetched": 147,
"raw_rows_received": 147,
"rows_after_account_scope": 147,
"rows_after_recipe_filter": 147,
"rows_materialized": 147,
"rows_matched": 147,
"raw_row_keys_sample": [
"Период",
"Регистратор",
"СчетДт",
"СчетКт",
"Сумма",
"Period",
"Registrator",
"AccountDt",
"Amount"
],
"materialization_drop_reason": "none",
"account_token_raw": null,
"account_token_normalized": null,
"account_scope_fields_checked": [
"account_dt",
"account_kt",
"registrator",
"analytics"
],
"account_scope_match_strategy": "account_code_regex_plus_alias_map_v1",
"account_scope_drop_reason": "not_applicable",
"runtime_readiness": "LIVE_QUERYABLE_WITH_LIMITS",
"limited_reason_category": null,
"response_type": "FACTUAL_SUMMARY",
"execution_lane": "address_query",
"llm_decomposition_applied": false,
"llm_decomposition_attempted": false,
"llm_provider_used": "local",
"llm_decomposition_trace_id": null,
"llm_decomposition_effective_message": "Какие разделы учета наименее заполнены?",
"llm_decomposition_reason": "not_address_like",
"fallback_rule_hit": null,
"sanitized_user_message": "какие разделы учета наименее заполнены?",
"tool_gate_decision": "run_address_lane",
"tool_gate_reason": "address_mode_classifier_detected",
"answer_structure_v11": null,
"investigation_state_snapshot": null,
"normalized": null,
"normalizer_output": null
},
"error_code": null,
"error_message": null
}
]
}
@@ -0,0 +1,8 @@
# Response Audit: 2026-04-02_Address_ReverseVariations_AfterNextPack
| id | strict | route_health | reply_type | intent | limited_reason | question | assistant_first_line |
|---|---|---|---|---|---|---|---|
| R001 | True | ok_or_factual | factual | period_coverage_profile | None | Какой год самый пассивный по количеству документов? | Профиль периодов базы собран (movement-based aggregate). |
| R002 | True | ok_or_factual | factual | period_coverage_profile | None | Какой месяц самый пассивный по количеству операций? | Профиль периодов базы собран (movement-based aggregate). |
| R003 | True | ok_or_factual | factual | document_type_and_account_section_profile | None | Какие типы документов используются реже всего в базе? | Профиль типов документов и разделов учета собран (movement-based aggregate). |
| R004 | True | ok_or_factual | factual | document_type_and_account_section_profile | None | Какие разделы учета наименее заполнены? | Профиль типов документов и разделов учета собран (movement-based aggregate). |
@@ -0,0 +1,45 @@
{
"run_id": "2026-04-02_Address_ReverseVariations_AfterNextPack",
"generated_at": "2026-04-02T21:06:51",
"source_questions_file": "X:\\1C\\NDC_1C\\docs\\ADDRESS\\question_sets\\temp_reverse_variations_2026-04-02.json",
"backend_url": "http://127.0.0.1:8787/api/assistant/message",
"llm_provider": "local",
"llm_model": "qwen2.5-14b-instruct-1m",
"llm_base_url": "http://127.0.0.1:1234",
"strict_policy": "factual",
"totals": {
"questions_total": 4,
"ok_200_count": 4,
"semantic_pass_count": 4,
"semantic_pass_rate": 1.0,
"route_pass_count": 4,
"route_pass_rate": 1.0,
"strict_pass_count": 4,
"strict_pass_rate": 1.0,
"factual_count": 4,
"partial_coverage_count": 0,
"clarification_required_count": 0,
"http_error_count": 0,
"llm_decomposition_applied_count": 0,
"avg_elapsed_ms": 4023.8
},
"distributions": {
"reply_type": {
"factual": 4
},
"actual_intent": {
"period_coverage_profile": 2,
"document_type_and_account_section_profile": 2
},
"actual_mode": {
"address_query": 4
},
"mcp_call_status": {
"matched_non_empty": 4
},
"limited_reason_category": {},
"route_health": {
"ok_or_factual": 4
}
}
}