Интерпретатор кода Помощников По Azure OpenAI (предварительная версия)
Интерпретатор кода позволяет API Помощника создавать и запускать код Python в изолированной среде выполнения. С включенным интерпретатором кода Помощник может выполнять код в итеративном режиме для решения более сложных проблем с кодом, математикой и анализом данных. Когда помощник записывает код, который не выполняется, он может итерировать этот код, изменив и выполнив другой код до тех пор, пока выполнение кода не будет выполнено.
Внимание
Интерпретатор кода требует дополнительных расходов за использование токенов Azure OpenAI. Если помощник одновременно вызывает интерпретатор кода в двух разных потоках, создаются два сеанса интерпретатора кода. Каждый сеанс активен по умолчанию в течение одного часа.
Примечание.
- Поиск по файлам может получать до 10 000 файлов на помощника — 500 раз больше, чем раньше. Это быстрый процесс, который поддерживает параллельные многопоточные поисковые запросы, а также функции расширенного повторного ранжирования и перезаписи запросов.
- Векторное хранилище — это новый объект в API. После добавления файла в векторное хранилище он автоматически анализируется, делится на блоки и кодируется в векторном представлении, чтобы подготовить к поиску по содержимому. Векторные хранилища можно использовать между разными помощниками и потоками, упрощая управление файлами и выставление счетов.
- Мы добавили поддержку
tool_choice
параметра, который можно использовать для принудительного использования определенного средства (например, поиска файлов, интерпретатора кода или функции) в определенном запуске.
Поддержка интерпретатора кода
Поддерживаемые модели
Страница моделей содержит самые актуальные сведения о регионах и моделях, где поддерживаются помощники и интерпретатор кода.
Мы рекомендуем использовать помощники с последними моделями, чтобы воспользоваться новыми функциями, большими окнами контекста и более актуальными данными обучения.
Версии API
2024-02-15-preview
2024-05-01-preview
Поддерживаемые типы файлов
File format | Тип MIME |
---|---|
c. | text/x-c |
.cpp | text/x-c++ |
.csv | application/csv |
DOCX | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
.html | text/html |
.java | text/x-java |
json. | application/json |
.md | text/markdown |
application/pdf | |
.php | text/x-php |
PPTX | application/vnd.openxmlformats-officedocument.presentationml.presentationml.presentation |
.py | text/x-python |
.py | text/x-script.python |
.rb | text/x-ruby |
.tex | text/x-tex |
.txt | text/plain |
.css | text/css |
.jpeg | image/jpeg |
JPG | image/jpeg |
.js | text/javascript |
.gif | image/gif |
PNG | image/png |
.дёготь | application/x-tar |
.ts | application/typescript |
XLSX | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
XML | application/xml или text/xml |
.zip | application/zip |
Справочник по API отправки файлов
Помощники используют тот же API для отправки файлов, что и для точной настройки. При отправке файла необходимо указать соответствующее значение для параметра назначения.
Включение интерпретатора кода
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
assistant = client.beta.assistants.create(
instructions="You are an AI assistant that can write code to help answer math questions",
model="<REPLACE WITH MODEL DEPLOYMENT NAME>", # replace with model deployment name.
tools=[{"type": "code_interpreter"}]
)
Отправка файла для интерпретатора кода
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
# Upload a file with an "assistants" purpose
file = client.files.create(
file=open("speech.py", "rb"),
purpose='assistants'
)
# Create an assistant using the file ID
assistant = client.beta.assistants.create(
instructions="You are an AI assistant that can write code to help answer math questions.",
model="gpt-4-1106-preview",
tools=[{"type": "code_interpreter"}],
tool_resources={"code interpreter":{"file_ids":[file.id]}}
)
Передача файла в отдельный поток
Помимо того, что файлы доступны на уровне помощников, вы можете передавать файлы, чтобы они были доступны только для определенного потока.
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
thread = client.beta.threads.create(
messages=[
{
"role": "user",
"content": "I need to solve the equation `3x + 11 = 14`. Can you help me?",
"file_ids": ["file.id"] # file id will look like: "assistant-R9uhPxvRKGH3m0x5zBOhMjd2"
}
]
)
Скачивание файлов, созданных интерпретатором кода
Файлы, созданные интерпретатором кода, можно найти в ответах на сообщения помощника
{
"id": "msg_oJbUanImBRpRran5HSa4Duy4",
"assistant_id": "asst_eHwhP4Xnad0bZdJrjHO2hfB4",
"content": [
{
"image_file": {
"file_id": "assistant-1YGVTvNzc2JXajI5JU9F0HMD"
},
"type": "image_file"
},
# ...
}
Эти созданные файлы можно скачать, передав файлы в API файлов:
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
image_data = client.files.content("assistant-abc123")
image_data_bytes = image_data.read()
with open("./my-image.png", "wb") as file:
file.write(image_data_bytes)
См. также
- Справочник по API отправки файлов
- Справочник по API помощников
- Узнайте больше об использовании помощников с нашим руководством по помощникам.
- Примеры API Azure OpenAI Assistants