Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Observação
Este documento refere-se ao portal Microsoft Foundry (clássico).
🔍 Consulte a documentação (nova) da Microsoft Foundry para saber mais sobre o novo portal.
Observação
O Microsoft Foundry Agent Service está agora disponível de forma geral, oferecendo mais ferramentas e melhores funcionalidades empresariais. Recomendamos o uso do novo serviço para as atualizações e melhorias de recursos mais recentes.
O Interpretador de Código permite que a API de Assistentes escreva e execute código Python num ambiente de execução sandbox. Com o Interpretador de Código ativado, o Assistente pode executar código iterativamente para resolver problemas mais desafiantes de código, matemática e análise de dados. Quando o Assistente escreve 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 custos adicionais além das taxas baseadas no token de utilização do Azure OpenAI. Se o Assistente chamar o Interpretador de Código simultaneamente em dois threads diferentes, serão criadas duas sessões do interpretador de código. Cada sessão fica ativa por padrão por 1 hora com um tempo limite ocioso de 30 minutos.
Suporte a interpretadores de código
Modelos suportados
A 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 aproveitar os novos recursos, janelas de contexto maiores e dados de treinamento mais atualizados.
Versões da API
- A partir de
2024-02-15-preview
Tipos de ficheiro suportados
| Formato de ficheiro | Tipo de MIME |
|---|---|
| c. | texto/x-c |
| .cpp | texto/x-c++ |
| .csv | aplicação/csv |
| .docx | aplicação/vnd.openxmlformats-officedocument.wordprocessingml.document |
| .html | texto/html |
| .java | texto/x-java |
| .json | application/json |
| .md | texto/marcação |
| aplicação/pdf | |
| .php | texto/x-php |
| .pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation |
| .py | texto/x-python |
| .py | texto/x-script.python |
| .rb | texto/x-ruby |
| .tex | texto/x-tex |
| .txt | texto simples |
| .css | texto/css |
| .jpeg | imagem/jpeg |
| .jpg | imagem/jpeg |
| .js | texto/javascript |
| .gif | imagem/gif |
| .png | tipo de ficheiro imagem/png |
| .tar | application/x-tar |
| .ts | aplicação/typescript |
| .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| .xml | application/xml ou "texto/xml" |
| .zip | aplicação/zip |
Referência da API de upload de arquivo
Os assistentes usam a mesma API para carregamento de ficheiros tal como para ajuste fino. Ao carregar um arquivo, você precisa especificar um valor apropriado para o parâmetro purpose.
Ativar 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")
)
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 arquivo para um thread individual
Além de tornar os arquivos acessíveis no nível dos Assistentes, você pode passar arquivos para que eles só sejam 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 Code Interpreter
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)
Ver também
- Referência da API de Carregamento de Arquivo
- Referência da API de assistentes
- Saiba mais sobre como utilizar os Assistentes com o nosso Guia prático sobre Assistentes.
- Exemplos da API do Azure OpenAI Assistants