Использование средства code_interpreter

Завершено

Tip

Дополнительные сведения см. на вкладке "Текст и изображения ".

Средство code_interpreter предоставляет модель среды выполнения Python, в которой она может создавать и запускать код Python.

Что такое инструмент code_interpreter?

Средство code_interpreter позволяет создавать модели искусственного интеллекта для динамического написания и запуска кода Python во время беседы. Вместо того чтобы просто обсуждать код или алгоритмы, модель может протестировать логику, обрабатывать данные и возвращать фактические результаты из кода. Это преобразует модель из мыслителя в исполнителя.

К ключевым функциям относятся:

  • Динамическое выполнение Python: модель записывает и запускает код Python в изолированной среде.
  • Обработка файлов: отправка, обработка и скачивание файлов (CSV, JSON, изображения и т. д.)
  • Анализ данных: выполнение вычислений, статистический анализ и преобразования данных на лету
  • Обратная связь в режиме реального времени: модель видит результаты выполнения кода и может выполнять итерацию или устранять ошибки.
  • Сложное решение проблем: решение математических задач, имитаций и головоломк логики с помощью исполняемого кода

Распространенные варианты использования

Вариант использования Пример
Анализ данных Анализ CSV-файла и создание сводной статистики
Математика и физика Решение разностных уравнений или имитация сценариев физики
Преобразование файлов Преобразование между форматами данных (JSON CSV ↔ и т. д.)
Прототипирование Тестирование алгоритмов и идей до формальной реализации

Простой пример

Вот как использовать code_interpreter с API ответов OpenAI:

from openai import OpenAI

client = OpenAI(
    base_url={openai_endpoint},
    api_key={auth_key_or_token}
)

# Get response using the code_interpreter tool
response = client.responses.create(
    model={model_deployment},
    instructions="You are an AI assistant that provides information. Use the python tool to run code for math problems.",
    input="What is the square root of 16?",
    tools=[{"type": "code_interpreter",
            "container": {"type": "auto"}}]
)
print(response.output_text)

Выходные данные этого кода похожи на следующее:

The square root of 16 is 4.

Более важно, что проверка сведений объекта ответа , возвращаемого моделью, показывает, что результат вычисляется и возвращается в модель с помощью динамического созданного кода Python, как показано ниже:

import math

# Calculate the square root of 16
square_root = math.sqrt(16)
square_root

Как работает средство code_interpreter

Общий процесс использования средства code_interpreter:

  1. Вы отправляете запрос: включите code_interpreter в массив инструментов.
  2. Модель анализирует задачу: модель определяет, требуется ли выполнение кода.
  3. Модель создает код: модель записывает код Python для выполнения задачи.
  4. Код выполняется: код работает в изолированной среде с доступом к общим библиотекам (например, pandas, numpy и math).
  5. Результаты возвращаются: модель получает выходные данные и включает ее в свой ответ.

Лучшие практики

  • Будьте конкретными. Опишите формат данных и ожидаемые выходные данные четко. Во многих моделях используется средство Python для идентификации средства code_interpreter, поэтому используйте этот язык в инструкциях.
  • Предоставление контекста: включение соответствующих знаний о домене в запросы
  • Проверка результатов: всегда просматривайте код, созданный ИИ, для правильности перед использованием в рабочей среде
  • Мониторинг затрат: выполнение кода добавляет маркеры; Сложные операции могут использовать больше ресурсов
  • Использование библиотек: стандартные пакеты, такие как pandas, numpy и matplotlib, предварительно установлены
  • Обработка ошибок: модель может видеть ошибки и пытаться исправить их автоматически.

Ограничения, о которые следует знать

  • Выполнение выполняется в изолированной среде без доступа к внешней сети
  • Некоторые библиотеки могут быть недоступны; сообщите модели, если стандартная библиотека не работает.
  • Ограничения времени ожидания применяются к длительным операциям
  • Код выполняется в условиях ограничений памяти — для обработки больших наборов данных может потребоваться использование потоковой передачи или разбиения на части.