Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Interpretador de Código permite que a API de Assistentes grave e execute código Python em um ambiente de execução em área restrita. Com o Interpretador de Código habilitado, o Assistente pode executar o código iterativamente para resolver problemas de análise de dados, matemática e código mais desafiadores. Quando o Assistente grava o código que não é executado, ele pode iterar nesse código modificando e executando código diferente até que a execução do código seja bem-sucedida.
Importante
O Interpretador de Código tem encargos adicionais além das taxas baseadas em token para uso do OpenAI do Azure. Se o Assistente chamar o Interpretador de Código simultaneamente em dois threads diferentes, duas sessões de interpretador de código serão criadas. Cada sessão fica ativa por padrão por uma hora.
Suporte ao interpretador de código
Modelos com suporte
A página de modelos contém as informações mais atualizadas sobre regiões/modelos em que há suporte para Assistentes e interpretador de código.
É recomendável usar assistentes com os modelos mais recentes para aproveitar os novos recursos, janelas de contexto maiores e dados de treinamento mais atualizados.
Versões da API
- Começando em
2024-02-15-preview
Tipos de arquivo compatíveis
Formato de arquivo | Tipo MIME |
---|---|
.c | text/x-c |
.cpp | text/x-c++ |
.csv | application/csv |
.docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
.html | texto/html |
.java | text/x-java |
.json | aplicativo/json |
.md | text/markdown |
application/pdf | |
.php | text/x-php |
.pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation |
.Py | text/x-python |
.Py | text/x-script.python |
.rb | text/x-ruby |
.tex | text/x-tex |
.txt | texto/sem formatação |
.css | texto/css |
.jpeg | image/jpeg |
.jpg | image/jpeg |
.js | text/javascript |
.gif | image/gif |
.png | image/png |
.tar | application/x-tar |
.ts | application/typescript |
.xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
.xml | application/xml ou "text/xml" |
.zip | application/zip |
Referência da API de upload de arquivo
Os assistentes usam a mesma API para upload de arquivo que ajuste fino. Ao carregar um arquivo, você precisa especificar um valor apropriado para o parâmetro de finalidade.
Habilitar interpretador de código
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"}]
)
Carregar arquivo para o Interpretador de Código
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]}}
)
Passar o arquivo para um thread individual
Além de tornar os arquivos acessíveis no nível de Assistentes, você pode passar arquivos para que eles só estejam acessíveis a um thread específico.
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"
}
]
)
Baixar arquivos gerados pelo Interpretador de Código
Os arquivos gerados pelo Interpretador de Código podem ser encontrados nas respostas de mensagem do Assistente
{
"id": "msg_oJbUanImBRpRran5HSa4Duy4",
"assistant_id": "asst_eHwhP4Xnad0bZdJrjHO2hfB4",
"content": [
{
"image_file": {
"file_id": "assistant-1YGVTvNzc2JXajI5JU9F0HMD"
},
"type": "image_file"
},
# ...
}
Você pode baixar esses arquivos gerados passando os arquivos para a API de arquivos:
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)
Confira também
- Referência da API de upload de arquivo
- Referência da API de assistentes
- Saiba mais sobre como usar Assistentes com nosso Guia de instruções sobre Assistentes.
- Exemplos de API de Assistentes do OpenAI do Azure