Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se apenas a:Portal Foundry (clássico). Este artigo não está disponível para o novo portal da Foundry.
Saiba mais sobre o novo portal.
Nota
Os links neste artigo podem abrir conteúdo na nova documentação do Microsoft Foundry em vez da documentação do Foundry (clássico) que está a ver agora.
Nota
A API dos Assistentes está obsoleta e será retirada a 26 de agosto de 2026. Use o serviço geralmente disponível Microsoft Foundry Agents. Siga o guia de migração para atualizar as suas cargas de trabalho. Saiba mais.
O Interpretador de Código permite que a API dos Assistentes escreva e execute código Python num ambiente de execução sandbox. Com o Interpretador de Código ativado, o seu Assistente pode executar código iterativamente para resolver problemas mais desafiantes de código, matemática e análise de dados. Quando o seu Assistente escreve código que falha em correr, pode iterar sobre esse código modificando e executando código diferente até que a execução do código tenha sucesso.
Importante
Code Interpreter tem custos adicionais além das taxas baseadas em tokens para o uso do Azure OpenAI. Se o seu Assistente chamar o Interpretador de Código simultaneamente em dois threads diferentes, são criadas duas sessões de interpretador de código. Cada sessão está ativa por defeito durante 1 hora, com um tempo limite de inatividade de 30 minutos.
Suporte a interpretadores de código
Modelos suportados
Página de modelos contém as informações mais atualizadas sobre regiões/modelos onde os Assistentes e o interpretador de código são suportados.
Recomendamos o uso de assistentes com os modelos mais recentes para tirar partido das novas funcionalidades, janelas de contexto maiores e dados de treino mais atualizados.
Versões API
- Começando em
2024-02-15-preview
Tipos de ficheiros suportados
| Formato de ficheiro | Tipo MIME |
|---|---|
| .c | Texto/X-C |
| .cpp | Texto/X-C++ |
| .csv | Application/CSV |
| .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| .html | text/html |
| .java | Text/X-Java |
| .json | application/json |
| .md | Texto/Markdown |
| Aplicação/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 | text/css |
| .jpeg | image/jpeg |
| .jpg | image/jpeg |
| .js | Texto/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 "Texto/XML" |
| .zip | application/zip |
Referência da API de upload de ficheiros
Os assistentes usam a mesma API tanto para o carregamento de ficheiros quanto para o ajuste fino. Ao carregar um ficheiro, tem de especificar um valor apropriado para o parâmetro de propósito.
Ativar 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 ficheiro 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 ficheiro para um tópico individual
Além de tornar os ficheiros acessíveis ao nível dos Assistentes, podes passar ficheiros para que só sejam acessíveis a um determinado tópico.
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"
}
]
)
Descarregar ficheiros gerados pelo Interpretador de Código
Ficheiros gerados pelo Code Interpreter podem ser encontrados nas respostas de mensagens do Assistente
{
"id": "msg_oJbUanImBRpRran5HSa4Duy4",
"assistant_id": "asst_eHwhP4Xnad0bZdJrjHO2hfB4",
"content": [
{
"image_file": {
"file_id": "assistant-1YGVTvNzc2JXajI5JU9F0HMD"
},
"type": "image_file"
},
# ...
}
Pode descarregar estes ficheiros gerados passando-os para a API de ficheiros:
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)
Ver também
- Referência da API de Upload de Ficheiros
- Referência da API de Assistentes
- Saiba mais sobre como usar os Assistentes com o nosso guia prático sobre Assistentes.
- Azure Exemplos da API OpenAI Assistants