Repolode
apple-aiml-research

apple-aiml-research/ToolSandbox

Бенчмарк с сохранением состояния для оценки того, как LLM-агенты используют инструменты в диалоге; включает симулятор пользователя и оценку по этапам.

Звёзды
288
Форки
33
Открытые issues
3
Последний коммит
в прошлом месяце

Что это?

ToolSandbox — бенчмарк для оценки того, как большие языковые модели используют инструменты. Его выпустили вместе с исследовательской работой Apple. В отличие от бенчмарков, которые проверяют REST API без сохранения состояния с помощью одного запроса, ToolSandbox запускает инструменты в постоянном состоянии мира (настройки, контакты, сообщения и напоминания), поэтому вызов инструмента может повлиять на результаты последующих вызовов.

В фреймворк входят симулятор пользователя, который ведёт с агентом многошаговый диалог, и набор инструментов на Python с неявными зависимостями. Например, перед отправкой сообщения может потребоваться включить сотовую связь. Сценарии задаются на Python как расширения базового состояния устройства. Для проверки устойчивости в них можно добавлять отвлекающие инструменты, переименовывать инструменты или удалять их описания.

Оценка проводится по этапам: в каждом сценарии задаётся DAG обязательных промежуточных и конечных состояний, а система проверяет, достигла ли последовательность действий этих состояний в допустимом порядке, вместо того чтобы требовать единственную точную последовательность вызовов. В проект входят CLI `tool_sandbox` и поддержка моделей OpenAI, Anthropic, Google Gemini, Cohere и моделей с открытым исходным кодом, запускаемых через vLLM.

Ключевые возможности

  • 01Выполнение инструментов с сохранением состояния в постоянном мире, включающем настройки, контакты, сообщения и напоминания.
  • 02Встроенный симулятор пользователя для многошаговой диалоговой оценки в режиме on-policy.
  • 03Оценка по DAG этапов, допускающая любой допустимый порядок промежуточных шагов.
  • 04Расширение сценариев: добавление отвлекающих инструментов, переименование инструментов и удаление подсказок типов.
  • 05Поддержка моделей OpenAI, Anthropic, Gemini, Cohere и моделей с открытым исходным кодом, запускаемых через vLLM.

Сценарии использования

  • Сравнение того, как разные LLM справляются с многошаговым использованием инструментов, зависящим от состояния.
  • Проверка того, распознаёт ли агент ситуации, когда ему не хватает инструментов или информации для выполнения задачи.
  • Создание регрессионных тестов для поведения агента при вызове инструментов в диалогах.

Быстрый старт

  1. 1

    Создайте conda-окружение с Python 3.9

    conda create -n ToolSandbox python=3.9
  2. 2

    Активируйте окружение

    conda activate ToolSandbox
  3. 3

    Установите проект и его зависимости для разработки из корня репозитория

    pip install '.[dev]'
  4. 4

    Запустите один сценарий, используя GPT-4o и в качестве симулятора пользователя, и в качестве агента (замените заполнители ключей API)

    env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> RAPID_API_KEY=<YOUR_RAPID_API_KEY> tool_sandbox --user GPT_4_o_2024_05_13 --agent GPT_4_o_2024_05_13

Что важно знать

  • Лицензия не указана в метаданных достаточно ясно, поэтому условия повторного использования неизвестны.
  • Для запуска сценариев с размещёнными моделями нужны платные ключи API, а для сценариев поиска также требуется ключ RapidAPI.
  • Вызовы инструментов выполняются непосредственно на хост-машине, без песочницы.

Темы

Частые вопросы

Что такое ToolSandbox?
Бенчмарк с сохранением состояния для оценки того, как LLM-агенты используют инструменты в диалоге; включает симулятор пользователя и оценку по этапам. ToolSandbox — бенчмарк для оценки того, как большие языковые модели используют инструменты. Его выпустили вместе с исследовательской работой Apple. В отличие от бенчмарков, которые проверяют REST API без сохранения состояния с помощью одного запроса, ToolSandbox запускает инструменты в постоянном состоянии мира (настройки, контакты, сообщения и напоминания), поэтому вызов инструмента может повлиять на результаты последующих вызовов.
ToolSandbox можно использовать бесплатно? Какая у него лицензия?
ToolSandbox распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ToolSandbox всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в ToolSandbox — 11 сент. 2026 г..
Для чего можно использовать ToolSandbox?
Сравнение того, как разные LLM справляются с многошаговым использованием инструментов, зависящим от состояния. Проверка того, распознаёт ли агент ситуации, когда ему не хватает инструментов или информации для выполнения задачи. Создание регрессионных тестов для поведения агента при вызове инструментов в диалогах.
Как установить ToolSandbox?
Создайте conda-окружение с Python 3.9: conda create -n ToolSandbox python=3.9 Активируйте окружение: conda activate ToolSandbox Установите проект и его зависимости для разработки из корня репозитория: pip install '.[dev]' Запустите один сценарий, используя GPT-4o и в качестве симулятора пользователя, и в качестве агента (замените заполнители ключей API): env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> RAPID_API_KEY=<YOUR_RAPID_API_KEY> tool_sandbox --user GPT_4_o_2024_05_13 --agent GPT_4_o_2024_05_13
Где скачать ToolSandbox?
Исходный код и инструкции по установке — на GitHub: https://github.com/apple-aiml-research/ToolSandbox

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты