Пример (обрезанных) входных данных:
Код: Выделить всё
{
"pid": "TEST_1010",
"biomarker": [
{
"simpleLabel": "Estim. Avg Glu (eAG)",
"ranges": {
"fair": [70, 126],
"optimal": [70, 97],
"inRange": [70, 126],
"good": [70, 108]
},
"result": 110.69,
"rawResult": 110.69,
"type": "biomarker",
"unit": "mg/dL",
"originalUnit": "mg/dL",
"label": "Estim. Avg Glu (eAG)",
"shortLabel": "Estimated Average Glucose (eAG)",
"targetType": "low",
"infoLink": "",
"category": { "name": "Metabolic Health", "weight": "n/a" },
"deviationScore": 36.33,
"historic": [
{
"result": 110.69,
"rawResult": 110.69,
"timestamp": "2026-01-28T08:23:07-05:00",
"ranges": { "fair": [70,126], "optimal": [70,97], "inRange": [70,126], "good": [70,108] },
"reportType": "SPOT_REPORT",
"kitType": "ORIGINAL",
"spotID": "SB_SPOT6A4E89C8"
},
{
"result": 76.78,
"rawResult": 76.78,
"timestamp": "2026-01-28T08:24:17-05:00",
"ranges": { "fair": [70,126], "optimal": [70,97], "inRange": [70,126], "good": [70,108] },
"reportType": "SPOT_REPORT",
"kitType": "ORIGINAL",
"spotID": "SB_SPOTB543809D"
}
],
"state": "default",
"labRange": "inRange",
"siphoxRange": "fair"
}
// ... many more biomarkers with similar structure
]
}
- Генерировать краткие сводки и пометки для каждого биомаркера (например, выходит ли результат за пределы оптимального).
- При желании можно упомянуть тенденцию (вверх/вниз), используя последние 1–2 исторические точки.
- Не требуется полная информация метаданные, такие как infoLink, reportType, kitType, SpotID, Category.weight, originalUnit и т. д.
- Удалить неиспользуемые поля вручную.
- Сокращение ключей.
- Сохранение только двух исторических точек.
- По-прежнему наблюдается большое количество дублирования (например, диапазоны, повторяющиеся под каждой исторической записью), и я думаю, что могу безопасно сжимать дальше.
Каковы надежные шаблоны или стратегии преобразования для сжатия этого JSON для подсказок LLM при сохранении основной семантики?
Подробнее здесь: https://stackoverflow.com/questions/798 ... reduce-tok