llama-server помечает обрезанные ответы и вызовы инструментов как завершённые
В сборке llama.cpp b11753 эндпоинт /v1/responses сервера llama-server возвращает status «completed» и incomplete_details: null даже когда ответ оборван лимитом max_output_tokens. Обрезанный вызов инструмента приходит с невалидным JSON в аргументах, но тоже помечен завершённым; /v1/chat/completions при этом корректно отдаёт finish_reason: «length». Исправления в upstream пока нет.
- Запрос с max_output_tokens: 8 вернул текст «1 2 3 4» со статусом completed
- Вызов write_file с оборванными аргументами '{"path": "/' помечен как completed
- В стриме нет события response.incomplete и function_call_arguments.done
- Признак обрезки — usage.output_tokens, равный заданному лимиту
Читать дальше
Софт