# Suite 02 Pipeline Интеграционный набор тестов для режимов: - `router_only` - `router_rag` - `full_chain` ## Что входит в suite - `pipeline_intent_rag/` — тесты, fixtures и runtime пайплайна - `cli/` — запускные скрипты для индексации и ручного прогона пайплайна ## Запуск тестов через pytest Из корня проекта: ```bash PYTHONPATH=. pytest tests/pipeline_setup/suite_02_pipeline/pipeline_intent_rag/test_intent_router_only_matrix.py -q ``` Для retrieval-режима: ```bash PYTHONPATH=. RUN_INTENT_PIPELINE_ROUTER_RAG=1 pytest -m router_rag tests/pipeline_setup/suite_02_pipeline/pipeline_intent_rag/ -q ``` Для полной цепочки: ```bash PYTHONPATH=. RUN_INTENT_PIPELINE_FULL_CHAIN=1 pytest -m full_chain tests/pipeline_setup/suite_02_pipeline/pipeline_intent_rag/ -q ``` ## Запуск через CLI ### 1. Индексация репозитория ```bash 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 ```bash 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 ```bash PYTHONPATH=. python -m tests.pipeline_setup.suite_02_pipeline.cli.run_router_rag --rag-session-id [--case-id ID ...] [--verbose] [--test-name PREFIX] ``` или с переиндексацией: ```bash 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 ```bash PYTHONPATH=. python -m tests.pipeline_setup.suite_02_pipeline.cli.run_full_chain --rag-session-id [--case-id ID ...] [--verbose] [--test-name PREFIX] ``` или с переиндексацией: ```bash 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_rag` - `RUN_INTENT_PIPELINE_FULL_CHAIN=1` — включает тесты и прогоны `full_chain` - `DATABASE_URL` — обязателен для retrieval и full chain - `INTENT_PIPELINE_FORCE_RAG_SESSION_ID` — принудительный `rag_session_id` для всех кейсов - `INTENT_PIPELINE_RAG_SESSION_ID` — дефолтный `rag_session_id` - `INTENT_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)