NODEDC_1C/llm_normalizer/README.md

95 lines
2.3 KiB
Markdown

# NDC AI First Layer (LLM Normalizer Playground)
Локальный модуль `front + back` для нормализации бухгалтерских запросов через OpenAI token.
Ключевые свойства:
- русифицированный GUI (терминология `NDC`);
- backend-proxy (ключ не уходит во фронт);
- Responses API + structured JSON schema `normalized_query_v1` / `normalized_query_v2` / `normalized_query_v2_0_1`;
- trace/history/eval;
- совместимый `accounting-agent` namespace для будущей интеграции в `dc_node`.
## Быстрый запуск (Windows)
1. Опционально: отдельная среда Miniconda
```powershell
conda create -n ndc-gui nodejs=22 -y
conda activate ndc-gui
```
2. Backend
```powershell
cd X:\1C\NDC_1C\llm_normalizer\backend
npm install
npm run dev
```
3. Frontend (в новом терминале)
```powershell
cd X:\1C\NDC_1C\llm_normalizer\frontend
npm install
npm run dev
```
4. Открыть GUI
- `http://localhost:5174`
Backend по умолчанию:
- `http://localhost:8787`
## Запуск из одной папки (VS Code)
Открой в VS Code папку:
- `X:\1C\NDC_1C\llm_normalizer`
Дальше 2 варианта:
1. Через Tasks:
- `Terminal -> Run Task -> NDC: Install All` (первый раз)
- `Terminal -> Run Task -> NDC: Dev All (Backend + Frontend)`
2. Через одну команду в терминале:
```powershell
cd X:\1C\NDC_1C\llm_normalizer
start-dev.cmd
```
Или:
```powershell
cd X:\1C\NDC_1C\llm_normalizer
npm.cmd run dev:all
```
## Основные endpoint-ы
- `POST /api/openai/test-connection`
- `POST /api/normalize`
- `POST /api/eval/run`
- `GET /api/history`
- `GET /api/history/:trace_id`
- `POST /api/presets/save`
- `GET /api/presets`
- `GET /api/health`
- `GET /api/accounting-agent/v1/health`
## Где хранятся данные
- traces: `llm_normalizer/data/traces`
- presets: `llm_normalizer/data/presets`
- eval cases/reports: `llm_normalizer/data/eval_cases`
Для `POST /api/eval/run` поддержан batch-ввод через `rawQuestions` (разделитель `;` или пустая строка).
## Тесты backend
```powershell
cd X:\1C\NDC_1C\llm_normalizer\backend
npm test
```