Suite 02 Pipeline
Интеграционный набор тестов для режимов:
router_onlyrouter_ragfull_chain
Что входит в suite
pipeline_intent_rag/— тесты, fixtures и runtime пайплайнаcli/— запускные скрипты для индексации и ручного прогона пайплайна
Запуск тестов через pytest
Из корня проекта:
PYTHONPATH=. pytest tests/pipeline_setup/suite_02_pipeline/pipeline_intent_rag/test_intent_router_only_matrix.py -q
Для retrieval-режима:
PYTHONPATH=. RUN_INTENT_PIPELINE_ROUTER_RAG=1 pytest -m router_rag tests/pipeline_setup/suite_02_pipeline/pipeline_intent_rag/ -q
Для полной цепочки:
PYTHONPATH=. RUN_INTENT_PIPELINE_FULL_CHAIN=1 pytest -m full_chain tests/pipeline_setup/suite_02_pipeline/pipeline_intent_rag/ -q
Запуск через CLI
1. Индексация репозитория
PYTHONPATH=. python -m tests.pipeline_setup.suite_02_pipeline.cli.index_repo --repo-path /abs/path/to/repo [--project-id ID]
Параметры:
--repo-path— путь к индексируемому репозиторию--project-id—project_idдля новой RAG-сессии
2. Router only
PYTHONPATH=. python -m tests.pipeline_setup.suite_02_pipeline.cli.run_router_only [--case-id ID ...] [--verbose] [--test-name PREFIX]
Параметры:
--case-id— запуск только выбранных кейсов, можно передавать несколько раз--verbose— печатать полную диагностику--test-name— префикс имени артефакта
3. Router + RAG
PYTHONPATH=. python -m tests.pipeline_setup.suite_02_pipeline.cli.run_router_rag --rag-session-id <uuid> [--case-id ID ...] [--verbose] [--test-name PREFIX]
или с переиндексацией:
PYTHONPATH=. python -m tests.pipeline_setup.suite_02_pipeline.cli.run_router_rag --reindex-repo-path /abs/path/to/repo [--reindex-project-id ID] [--case-id ID ...] [--verbose]
Параметры:
--rag-session-id— готовыйrag_session_idдля всех кейсов--reindex-repo-path— путь к репозиторию, который нужно проиндексировать перед прогоном--reindex-project-id—project_idдля новой RAG-сессии--case-id— запуск только выбранных кейсов--verbose— печатать расширенную диагностику--test-name— префикс имени артефакта
4. Full chain
PYTHONPATH=. python -m tests.pipeline_setup.suite_02_pipeline.cli.run_full_chain --rag-session-id <uuid> [--case-id ID ...] [--verbose] [--test-name PREFIX]
или с переиндексацией:
PYTHONPATH=. python -m tests.pipeline_setup.suite_02_pipeline.cli.run_full_chain --reindex-repo-path /abs/path/to/repo [--reindex-project-id ID] [--case-id ID ...] [--verbose]
Параметры те же, что и у run_router_rag.
Переменные окружения
RUN_INTENT_PIPELINE_ROUTER_RAG=1— включает тесты и прогоныrouter_ragRUN_INTENT_PIPELINE_FULL_CHAIN=1— включает тесты и прогоныfull_chainDATABASE_URL— обязателен для retrieval и full chainINTENT_PIPELINE_FORCE_RAG_SESSION_ID— принудительныйrag_session_idдля всех кейсовINTENT_PIPELINE_RAG_SESSION_ID— дефолтныйrag_session_idINTENT_PIPELINE_REINDEX_REPO_PATH— путь к репозиторию для автоиндексацииINTENT_PIPELINE_REINDEX_PROJECT_ID—project_idдля автоиндексации
Артефакты прогонов пишутся в: [test_results](/Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup/test_results)
Детали по внутреннему устройству пайплайна: [pipeline_intent_rag/README.md](/Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup/suite_02_pipeline/pipeline_intent_rag/README.md)