Files
LLM-Robot-Control/assembly_dataset/csv_export.py
T

31 lines
1.7 KiB
Python

"""Readable Russian plans with metadata kept after the primary columns."""
import json
COLUMNS = [
'Задание', 'Сцена', 'План', 'Статус', 'Формат', 'Источник текста',
'ID записи', 'ID сценария', 'Выборка', 'Вход (задание и сцена)',
'Системная инструкция', 'Провайдер', 'Модель', 'Уровень проверки',
]
STATUSES = {'ready': 'План готов', 'blocked': 'Задача невыполнима', 'continue': 'Следующее действие'}
MODES = {'full': 'Полный план', 'step': 'Следующее действие', 'branch': 'План с условиями'}
def csv_record(record):
messages = {m['role']: m['content'] for m in record['messages']}
user = messages['user']
try:
user = json.dumps(json.loads(user), ensure_ascii=False, indent=2)
except json.JSONDecodeError:
pass
return {
'Задание': record['task'], 'Сцена': record['scene_summary'],
'План': messages['assistant'], 'Статус': STATUSES[record['status']],
'Формат': MODES[record['mode']],
'Источник текста': 'LLM' if record['text_source'] == 'teacher' else 'Шаблон русского описания',
'ID записи': record['record_id'], 'ID сценария': record['scenario_id'],
'Выборка': record['split'], 'Вход (задание и сцена)': user,
'Системная инструкция': messages['system'],
'Провайдер': record['source']['provider'], 'Модель': record['source']['model'] or '',
'Уровень проверки': record['validation_level'],
}