51 lines
1.8 KiB
Markdown
51 lines
1.8 KiB
Markdown
# 1C Metadata Snapshot
|
|
|
|
Цель: сохранять структуру 1С как локальный snapshot и использовать ее в RAG без выдумывания объектов конфигурации.
|
|
|
|
## Files
|
|
|
|
- Schema: `plugins/1c/metadata/schema.json`
|
|
- Example: `plugins/1c/metadata/examples/metadata.example.json`
|
|
- Local snapshots: `plugins/1c/metadata/snapshots`
|
|
- Converter: `scripts/convert_1c_metadata_to_rag.py`
|
|
|
|
## Snapshot Rule
|
|
|
|
Рабочие snapshot-файлы считаются локальными артефактами. Они не должны содержать:
|
|
|
|
- пароли;
|
|
- токены;
|
|
- строки подключения;
|
|
- персональные данные;
|
|
- клиентские секреты;
|
|
- выгрузки данных.
|
|
|
|
Snapshot описывает только структуру метаданных.
|
|
|
|
## Convert Example To RAG Source
|
|
|
|
```powershell
|
|
python scripts/validate_1c_metadata_snapshot.py plugins/1c/metadata/examples/metadata.example.json
|
|
```
|
|
|
|
```powershell
|
|
python scripts/convert_1c_metadata_to_rag.py --input plugins/1c/metadata/examples/metadata.example.json --output plugins/1c/rag/sources/metadata.example.generated.md
|
|
```
|
|
|
|
После этого можно перестроить корпус и индекс:
|
|
|
|
```powershell
|
|
python scripts/prepare_1c_rag_corpus.py
|
|
python scripts/build_1c_rag_index.py
|
|
```
|
|
|
|
Команды нужно выполнять последовательно: сначала подготовить JSONL-корпус, затем строить индекс.
|
|
|
|
## Ask
|
|
|
|
```powershell
|
|
python scripts/ask_1c_rag.py "Какие реквизиты есть у справочника Номенклатура?" --print-prompt
|
|
```
|
|
|
|
В prompt должны попасть реквизиты из snapshot и ссылка на source `metadata.example.generated.md`.
|