691просмотров
19 сентября 2025 г.
provocation📷 ФотоScore: 760
На этом одном примере, я стабильно получал низкую полноту ответа (всего 20%). Оказалось, проблема не в логике LLM, а в том, в каком виде она получает данные. Я использовал tavily-adapter для поиска, который возвращал содержимое страниц как сплошную строку, вытащенную через bs4. И если ответ был спрятан в таблице, то для LLM это была просто каша из слов. Она не видела никакой структуры. Решение: Я переписал адаптер так, чтобы он преобразовывал контент страницы в структурированный Markdown. ⭐И результат превзошел все ожидания, полнота аналитического суммирования на том же проблемном примере подскочила с 20% до 83%. Но 83% - это не 100%, а мой подход требует жесткой 100% полноты. Я снова начал разбираться, в чем дело. И снова всё уперлось в парсинг. Есть особо сложные таблицы (привет, Википедия!), которые даже после конвертации в Markdown плывут и теряют структуру. Вот что мне ответила сама LLM, когда я показал ей поехавшую таблицу:
> «Как видите, в вашей строке имя игрока (Giannis Antetokounmpo) находится в столбце, где должны быть очки (Points). Дата (December 13, 2023) — в столбце имени (Player). Вся строка сдвинута влево на два столбца, в ней просто отсутствуют данные для Rank и Points.» Маленькая LLM не может догадаться, сколько очков у игрока, если этих данных просто нет в соответствующей ячейке.