ййй
This commit is contained in:
@@ -0,0 +1,275 @@
|
||||
defaults:
|
||||
runner: runtime
|
||||
mode: full_chain
|
||||
input:
|
||||
rag_session_id: "fb7e0690-e737-44ca-acc6-e38a0687a5ee"
|
||||
|
||||
cases:
|
||||
# DOCUMENTATION_EXPLAIN
|
||||
- id: docs-v1-explain-system-flow-telegram-loop
|
||||
query: "Объясни как работает цикл отправки уведомлений в Telegram"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: SYSTEM_FLOW_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["logic.telegram_notification_loop"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D4_WORKFLOW_INDEX", "D5_RELATION_GRAPH"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["TelegramNotifyWorker", "интервал"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v1-explain-component-control-channel
|
||||
query: "Объясни как устроен компонент TelegramControlChannel"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: COMPONENT_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
entity_candidates_contain: ["TelegramControlChannel"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D5_RELATION_GRAPH"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["control plane", "/health"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v1-explain-api-health-endpoint
|
||||
query: "Объясни что делает API метод /health"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: API_METHOD_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["api.health_endpoint"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D4_WORKFLOW_INDEX", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["HTTP 200", "HTTP 503"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v1-explain-entity-runtime-health
|
||||
query: "Что такое сущность runtime health?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
entity_candidates_contain: ["WorkerHealth", "WorkerStatus"]
|
||||
doc_scope_contains: ["domain.runtime_health"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D3_ENTITY_CATALOG", "D5_RELATION_GRAPH"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["наблюдаемости", "telegram_notify"]
|
||||
answer_mode: answered
|
||||
|
||||
# DISCOVERY folded into DOCUMENTATION_EXPLAIN
|
||||
- id: docs-v1-discovery-find-documents-telegram-api
|
||||
query: "Найди документацию по Telegram API и control plane"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["/health", "/send"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v1-discovery-find-by-entity-telegramnotifyworker
|
||||
query: "Какие документы связаны с сущностью TelegramNotifyWorker?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
entity_candidates_contain: ["TelegramNotifyWorker"]
|
||||
layers_include: ["D5_RELATION_GRAPH", "D1_DOCUMENT_CATALOG"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["logic.telegram_notification_loop", "api.health_endpoint"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v1-discovery-find-by-topic-health
|
||||
query: "Где в документации описан health runtime?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
layers_include: ["D5_RELATION_GRAPH", "D1_DOCUMENT_CATALOG"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["api.health_endpoint", "domain.runtime_health"]
|
||||
answer_mode: answered
|
||||
|
||||
# NAVIGATION folded into DOCUMENTATION_EXPLAIN
|
||||
- id: docs-v1-navigation-related-docs-health-endpoint
|
||||
query: "Какие документы связаны с endpoint /health?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["api.health_endpoint"]
|
||||
layers_include: ["D5_RELATION_GRAPH", "D1_DOCUMENT_CATALOG"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["architecture.telegram_notify_app", "domain.runtime_health"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v1-navigation-parent-child-architecture
|
||||
query: "Покажи навигацию от overview архитектуры к дочерним документам"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["architecture.telegram_notify_app"]
|
||||
layers_include: ["D5_RELATION_GRAPH", "D1_DOCUMENT_CATALOG"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["api.health_endpoint", "logic.telegram_notification_loop"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v1-navigation-workflow-send-message
|
||||
query: "По каким документам идти, чтобы понять сценарий ручной отправки сообщения?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
layers_include: ["D5_RELATION_GRAPH", "D1_DOCUMENT_CATALOG"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["api.send_message_endpoint", "logic.telegram_notification_loop"]
|
||||
answer_mode: answered
|
||||
|
||||
# OPENAPI_GENERATION
|
||||
- id: docs-v1-openapi-method-health-endpoint
|
||||
query: "Сгенерируй OpenAPI для метода /health по документации"
|
||||
expected:
|
||||
router:
|
||||
intent: OPENAPI_GENERATION
|
||||
sub_intent: OPENAPI_METHOD_GENERATE
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
filters_contain:
|
||||
doc_type: api_method
|
||||
doc_scope_contains: ["api.health_endpoint"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["paths:", "/health", "get:"]
|
||||
answer_mode: structured_spec
|
||||
|
||||
- id: docs-v1-openapi-fragment-send-request
|
||||
query: "Сгенерируй request schema для endpoint /send по документации"
|
||||
expected:
|
||||
router:
|
||||
intent: OPENAPI_GENERATION
|
||||
sub_intent: OPENAPI_FRAGMENT_GENERATE
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
filters_contain:
|
||||
doc_type: api_method
|
||||
doc_scope_contains: ["api.send_message_endpoint"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["message", "type:", "string"]
|
||||
answer_mode: structured_spec
|
||||
|
||||
- id: docs-v1-openapi-fragment-control-actions-response
|
||||
query: "Собери response schema для /actions/{action} по документации"
|
||||
expected:
|
||||
router:
|
||||
intent: OPENAPI_GENERATION
|
||||
sub_intent: OPENAPI_FRAGMENT_GENERATE
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
filters_contain:
|
||||
doc_type: api_method
|
||||
doc_scope_contains: ["api.control_actions_endpoint"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["status", "detail"]
|
||||
answer_mode: structured_spec
|
||||
|
||||
# NEGATIVE / NOT FOUND
|
||||
- id: docs-v1-discovery-find-by-entity-nonexistent
|
||||
query: "Какие документы связаны с сущностью PaymentTransaction?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: false
|
||||
entity_candidates_contain: ["PaymentTransaction"]
|
||||
layers_include: ["D3_ENTITY_CATALOG", "D1_DOCUMENT_CATALOG", "D5_RELATION_GRAPH"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["не найдена"]
|
||||
excludes: ["вероятно", "исходя из названия"]
|
||||
pipeline:
|
||||
answer_mode: degraded
|
||||
|
||||
- id: docs-v1-openapi-method-nonexistent
|
||||
query: "Сгенерируй OpenAPI для endpoint /orders по документации"
|
||||
expected:
|
||||
router:
|
||||
intent: OPENAPI_GENERATION
|
||||
sub_intent: OPENAPI_METHOD_GENERATE
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: false
|
||||
filters_contain:
|
||||
doc_type: api_method
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_all: ["не найден"]
|
||||
excludes: ["paths:", "/orders", "post:"]
|
||||
pipeline:
|
||||
answer_mode: degraded
|
||||
@@ -0,0 +1,271 @@
|
||||
defaults:
|
||||
runner: runtime
|
||||
mode: full_chain
|
||||
input:
|
||||
rag_session_id: "fb7e0690-e737-44ca-acc6-e38a0687a5ee"
|
||||
|
||||
cases:
|
||||
# ============================================================
|
||||
# DOCUMENTATION_EXPLAIN / SYSTEM_FLOW_EXPLAIN
|
||||
# ============================================================
|
||||
- id: docs-v2-system-flow-telegram-loop
|
||||
query: "Объясни как работает цикл отправки уведомлений в Telegram"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: SYSTEM_FLOW_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["logic.telegram_notification_loop"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D4_WORKFLOW_INDEX", "D5_RELATION_GRAPH", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["TelegramNotifyWorker", "интервал", "degraded"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v2-system-flow-health-check
|
||||
query: "Как происходит получение health состояния runtime?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: SYSTEM_FLOW_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["api.health_endpoint", "domain.runtime_health"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D4_WORKFLOW_INDEX", "D5_RELATION_GRAPH", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["/health", "HTTP 200", "HTTP 503", "payload"]
|
||||
answer_mode: answered
|
||||
|
||||
# ============================================================
|
||||
# DOCUMENTATION_EXPLAIN / COMPONENT_EXPLAIN
|
||||
# ============================================================
|
||||
- id: docs-v2-component-control-channel
|
||||
query: "Объясни как работает компонент TelegramControlChannel"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: COMPONENT_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
entity_candidates_contain: ["TelegramControlChannel"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D5_RELATION_GRAPH", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["/health", "/actions/{action}", "/send"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v2-component-runtime-manager
|
||||
query: "Какую роль в системе играет RuntimeManager?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: COMPONENT_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
entity_candidates_contain: ["RuntimeManager"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D5_RELATION_GRAPH", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["runtime", "регистр", "TelegramNotifyModule"]
|
||||
answer_mode: answered
|
||||
|
||||
# ============================================================
|
||||
# DOCUMENTATION_EXPLAIN / API_METHOD_EXPLAIN
|
||||
# ============================================================
|
||||
- id: docs-v2-api-health-endpoint
|
||||
query: "Объясни что делает endpoint /health"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: API_METHOD_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["api.health_endpoint"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D4_WORKFLOW_INDEX", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["HTTP 200", "HTTP 503", "payload", "components"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v2-api-send-endpoint
|
||||
query: "Как работает endpoint /send?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: API_METHOD_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["api.send_message_endpoint"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D4_WORKFLOW_INDEX", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["message", "HTTP 400", "HTTP 500", "TelegramSendService"]
|
||||
answer_mode: answered
|
||||
|
||||
# ============================================================
|
||||
# DOCUMENTATION_EXPLAIN / ENTITY_EXPLAIN
|
||||
# ============================================================
|
||||
- id: docs-v2-entity-runtime-health
|
||||
query: "Что такое runtime health?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["domain.runtime_health"]
|
||||
layers_include: ["D3_ENTITY_CATALOG", "D1_DOCUMENT_CATALOG", "D5_RELATION_GRAPH", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["наблюдаемости", "WorkerHealth", "WorkerStatus", "telegram_notify"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v2-entity-worker-status
|
||||
query: "Объясни сущность WorkerStatus"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
entity_candidates_contain: ["WorkerStatus"]
|
||||
layers_include: ["D3_ENTITY_CATALOG", "D1_DOCUMENT_CATALOG", "D5_RELATION_GRAPH", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["ok", "degraded", "unhealthy"]
|
||||
answer_mode: answered
|
||||
|
||||
# ============================================================
|
||||
# DOCUMENTATION_EXPLAIN / RELATED_DOCS_EXPLAIN
|
||||
# ============================================================
|
||||
- id: docs-v2-related-docs-health
|
||||
query: "Какие документы связаны с endpoint /health?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["api.health_endpoint"]
|
||||
layers_include: ["D5_RELATION_GRAPH", "D1_DOCUMENT_CATALOG", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["domain.runtime_health", "architecture.telegram_notify_app"]
|
||||
answer_mode: answered
|
||||
|
||||
- id: docs-v2-related-docs-architecture-overview
|
||||
query: "Какие дочерние документы есть у overview архитектуры сервиса?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["architecture.telegram_notify_app"]
|
||||
layers_include: ["D5_RELATION_GRAPH", "D1_DOCUMENT_CATALOG", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["api.health_endpoint", "api.send_message_endpoint", "logic.telegram_notification_loop"]
|
||||
answer_mode: answered
|
||||
|
||||
# ============================================================
|
||||
# OPENAPI_GENERATION / OPENAPI_METHOD_GENERATE
|
||||
# ============================================================
|
||||
- id: docs-v2-openapi-health
|
||||
query: "Сгенерируй OpenAPI для endpoint /health по документации"
|
||||
expected:
|
||||
router:
|
||||
intent: OPENAPI_GENERATION
|
||||
sub_intent: OPENAPI_METHOD_GENERATE
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["api.health_endpoint"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["paths:", "/health", "get:"]
|
||||
answer_mode: structured_spec
|
||||
|
||||
# ============================================================
|
||||
# OPENAPI_GENERATION / OPENAPI_FRAGMENT_GENERATE
|
||||
# ============================================================
|
||||
- id: docs-v2-openapi-fragment-send-request
|
||||
query: "Сгенерируй request schema для endpoint /send"
|
||||
expected:
|
||||
router:
|
||||
intent: OPENAPI_GENERATION
|
||||
sub_intent: OPENAPI_FRAGMENT_GENERATE
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
doc_scope_contains: ["api.send_message_endpoint"]
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D2_FACT_INDEX", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["message", "string"]
|
||||
answer_mode: structured_spec
|
||||
|
||||
# ============================================================
|
||||
# GENERAL_QA / GENERIC_QA
|
||||
# ============================================================
|
||||
- id: docs-v2-general-overview
|
||||
query: "Что вообще описано в документации по этому сервису?"
|
||||
expected:
|
||||
router:
|
||||
intent: GENERAL_QA
|
||||
sub_intent: GENERIC_QA
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: true
|
||||
layers_include: ["D1_DOCUMENT_CATALOG", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["архитектура", "API", "worker", "runtime"]
|
||||
answer_mode: answered
|
||||
|
||||
# ============================================================
|
||||
# NEGATIVE / DEGRADED
|
||||
# ============================================================
|
||||
- id: docs-v2-negative-missing-entity
|
||||
query: "Что такое сущность PaymentTransaction?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
graph_id: DocsQAGraph
|
||||
conversation_mode: START
|
||||
retrieval:
|
||||
non_empty: false
|
||||
entity_candidates_contain: ["PaymentTransaction"]
|
||||
layers_include: ["D3_ENTITY_CATALOG", "D1_DOCUMENT_CATALOG", "D5_RELATION_GRAPH", "D0_DOC_CHUNKS"]
|
||||
llm:
|
||||
non_empty: true
|
||||
contains_any: ["не найдена", "нет в документации"]
|
||||
pipeline:
|
||||
answer_mode: degraded
|
||||
@@ -0,0 +1,220 @@
|
||||
# full_chain_docs_intents_v3.yaml
|
||||
|
||||
defaults:
|
||||
runner: runtime
|
||||
mode: pre_llm
|
||||
input:
|
||||
rag_session_id: "fb7e0690-e737-44ca-acc6-e38a0687a5ee"
|
||||
|
||||
cases:
|
||||
|
||||
# ============================================================
|
||||
# SYSTEM FLOW (расширено)
|
||||
# ============================================================
|
||||
|
||||
- id: v3-system-flow-telegram-loop-1
|
||||
query: "Объясни цикл отправки уведомлений"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: SYSTEM_FLOW_EXPLAIN
|
||||
|
||||
- id: v3-system-flow-telegram-loop-2
|
||||
query: "Как работает процесс отправки уведомлений в Telegram?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: SYSTEM_FLOW_EXPLAIN
|
||||
|
||||
- id: v3-system-flow-telegram-loop-3
|
||||
query: "Опиши workflow Telegram уведомлений"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
sub_intent: SYSTEM_FLOW_EXPLAIN
|
||||
|
||||
- id: v3-system-flow-health-1
|
||||
query: "Как работает health check runtime?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: SYSTEM_FLOW_EXPLAIN
|
||||
|
||||
- id: v3-system-flow-health-2
|
||||
query: "Как происходит проверка состояния runtime?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: SYSTEM_FLOW_EXPLAIN
|
||||
|
||||
# ============================================================
|
||||
# COMPONENT (расширено)
|
||||
# ============================================================
|
||||
|
||||
- id: v3-component-runtime-manager-1
|
||||
query: "Что делает RuntimeManager?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: COMPONENT_EXPLAIN
|
||||
|
||||
- id: v3-component-runtime-manager-2
|
||||
query: "Как устроен RuntimeManager?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: COMPONENT_EXPLAIN
|
||||
|
||||
- id: v3-component-runtime-manager-3
|
||||
query: "Опиши компонент RuntimeManager"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: COMPONENT_EXPLAIN
|
||||
|
||||
- id: v3-component-control-channel-1
|
||||
query: "Как работает TelegramControlChannel?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: COMPONENT_EXPLAIN
|
||||
|
||||
- id: v3-component-control-channel-2
|
||||
query: "Роль TelegramControlChannel в системе"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: COMPONENT_EXPLAIN
|
||||
|
||||
# ============================================================
|
||||
# API (расширено)
|
||||
# ============================================================
|
||||
|
||||
- id: v3-api-health-1
|
||||
query: "Что делает /health?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: API_METHOD_EXPLAIN
|
||||
|
||||
- id: v3-api-health-2
|
||||
query: "Как работает health endpoint?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: API_METHOD_EXPLAIN
|
||||
|
||||
- id: v3-api-health-3
|
||||
query: "Опиши endpoint health"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: API_METHOD_EXPLAIN
|
||||
|
||||
- id: v3-api-send-1
|
||||
query: "Что делает /send?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: API_METHOD_EXPLAIN
|
||||
|
||||
- id: v3-api-send-2
|
||||
query: "Как работает send endpoint?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: API_METHOD_EXPLAIN
|
||||
|
||||
- id: v3-api-send-3
|
||||
query: "Опиши endpoint отправки сообщений"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: API_METHOD_EXPLAIN
|
||||
|
||||
# ============================================================
|
||||
# ENTITY (расширено)
|
||||
# ============================================================
|
||||
|
||||
- id: v3-entity-runtime-health-1
|
||||
query: "Что такое runtime health?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
|
||||
- id: v3-entity-runtime-health-2
|
||||
query: "Объясни runtime health"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
|
||||
- id: v3-entity-worker-status-1
|
||||
query: "Что такое WorkerStatus?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
|
||||
- id: v3-entity-worker-status-2
|
||||
query: "Опиши статус воркера"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
|
||||
# ============================================================
|
||||
# RELATED DOCS (расширено)
|
||||
# ============================================================
|
||||
|
||||
- id: v3-related-health-1
|
||||
query: "Что связано с /health?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
|
||||
- id: v3-related-health-2
|
||||
query: "Какие документы относятся к health endpoint?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
|
||||
- id: v3-related-send-1
|
||||
query: "Какие документы связаны с /send?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
|
||||
- id: v3-related-architecture-1
|
||||
query: "Какие документы связаны с архитектурой?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
|
||||
# ============================================================
|
||||
# GENERAL (расширено)
|
||||
# ============================================================
|
||||
|
||||
- id: v3-general-1
|
||||
query: "Что есть в документации?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: GENERIC_QA
|
||||
|
||||
- id: v3-general-2
|
||||
query: "Какая структура документации?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: GENERIC_QA
|
||||
|
||||
- id: v3-general-3
|
||||
query: "С чего начать читать документацию?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: GENERIC_QA
|
||||
|
||||
# ============================================================
|
||||
# NEGATIVE (расширено)
|
||||
# ============================================================
|
||||
|
||||
- id: v3-negative-1
|
||||
query: "Что такое PaymentTransaction?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
|
||||
- id: v3-negative-2
|
||||
query: "Объясни сущность UnknownEntity"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
|
||||
- id: v3-negative-3
|
||||
query: "Что делает endpoint /unknown?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: API_METHOD_EXPLAIN
|
||||
@@ -0,0 +1,79 @@
|
||||
# full_chain_docs_intents_v4.yaml
|
||||
|
||||
defaults:
|
||||
runner: runtime
|
||||
mode: full_chain
|
||||
input:
|
||||
rag_session_id: "fb7e0690-e737-44ca-acc6-e38a0687a5ee"
|
||||
|
||||
cases:
|
||||
|
||||
# SYSTEM FLOW
|
||||
- id: v4-system-flow
|
||||
query: "Объясни как работает цикл отправки уведомлений"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: SYSTEM_FLOW_EXPLAIN
|
||||
|
||||
# COMPONENT
|
||||
- id: v4-component
|
||||
query: "Как работает RuntimeManager?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: COMPONENT_EXPLAIN
|
||||
|
||||
# API
|
||||
- id: v4-api
|
||||
query: "Что делает endpoint /health?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: API_METHOD_EXPLAIN
|
||||
|
||||
# ENTITY
|
||||
- id: v4-entity
|
||||
query: "Что такое runtime health?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
|
||||
# RELATED DOCS
|
||||
- id: v4-related
|
||||
query: "Какие документы связаны с endpoint /health?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: RELATED_DOCS_EXPLAIN
|
||||
|
||||
# OPENAPI METHOD
|
||||
- id: v4-openapi-method
|
||||
query: "Сгенерируй OpenAPI для endpoint /health"
|
||||
expected:
|
||||
router:
|
||||
intent: OPENAPI_GENERATION
|
||||
|
||||
# OPENAPI FRAGMENT
|
||||
- id: v4-openapi-fragment
|
||||
query: "Сгенерируй request schema для endpoint /send"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: OPENAPI_FRAGMENT_GENERATE
|
||||
|
||||
# GENERAL
|
||||
- id: v4-general
|
||||
query: "Что описано в документации?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: GENERIC_QA
|
||||
|
||||
# NEGATIVE
|
||||
- id: v4-negative
|
||||
query: "Что такое PaymentTransaction?"
|
||||
expected:
|
||||
router:
|
||||
sub_intent: ENTITY_EXPLAIN
|
||||
|
||||
# EDGE MIXED
|
||||
- id: v4-mixed
|
||||
query: "Как работает /send и какие есть связанные документы?"
|
||||
expected:
|
||||
router:
|
||||
intent: DOCUMENTATION_EXPLAIN
|
||||
Reference in New Issue
Block a user