Фикс состояния

This commit is contained in:
2026-03-12 16:55:23 +03:00
parent 417b8b6f72
commit 6ba0a18ac9
1445 changed files with 620025 additions and 885 deletions

View File

@@ -0,0 +1,108 @@
# 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 <uuid> [--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 <uuid> [--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)