Как я могу сжать большие повторяющиеся полезные данные JSON для подсказок LLM, чтобы уменьшить количество токенов без поPython

Программы на Python
Ответить
Anonymous
 Как я могу сжать большие повторяющиеся полезные данные JSON для подсказок LLM, чтобы уменьшить количество токенов без по

Сообщение Anonymous »

Я передаю LLM довольно большую полезную нагрузку JSON (более 2500 строк). Он полон повторяющихся полей (особенно диапазонов, повторяющихся в каждой исторической записи), метаданных, которые мы на самом деле не используем, и подробных ключей. При этом сжигается много токенов.
Пример (обрезанных) входных данных:

Код: Выделить всё

{
"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
]
}
Для чего мне на самом деле нужен LLM:
  • Генерировать краткие сводки и пометки для каждого биомаркера (например, выходит ли результат за пределы оптимального).
  • При желании можно упомянуть тенденцию (вверх/вниз), используя последние 1–2 исторические точки.
  • Не требуется полная информация метаданные, такие как infoLink, reportType, kitType, SpotID, Category.weight, originalUnit и т. д.
Что я пробовал:
  • Удалить неиспользуемые поля вручную.
  • Сокращение ключей.
  • Сохранение только двух исторических точек.
  • По-прежнему наблюдается большое количество дублирования (например, диапазоны, повторяющиеся под каждой исторической записью), и я думаю, что могу безопасно сжимать дальше.
Вопрос:

Каковы надежные шаблоны или стратегии преобразования для сжатия этого JSON для подсказок LLM при сохранении основной семантики?

Подробнее здесь: https://stackoverflow.com/questions/798 ... reduce-tok
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»