Files
agent/tests/pipeline_setup/suite_02_pipeline
2026-03-12 23:33:51 +03:00
..
2026-03-12 16:55:23 +03:00
2026-03-12 23:33:51 +03:00
2026-03-12 16:55:23 +03:00
2026-03-12 16:55:23 +03:00

Suite 02 Pipeline

Интеграционный набор тестов для режимов:

  • router_only
  • router_rag
  • full_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-idproject_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-idproject_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_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_IDproject_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)