Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание
Этот документ ссылается на агентов Microsoft Foundry (classic).
🔍 Просмотрите новую документацию по интерпретатору кода. Агенты (классические) в настоящее время устарели и будут удалены 31 марта 2027 года. Используйте новые агенты в общедоступной службе Microsoft Foundry Agents. Следуйте инструкциям по миграции , чтобы обновить рабочие нагрузки.
Интерпретатор кода позволяет агентам записывать и запускать Python код в изолированной среде выполнения. С включенным интерпретатором кода агент может выполнять итеративное выполнение кода для решения более сложных проблем кода, математики и анализа данных или создания графов и диаграмм. Когда агент записывает код, который не выполняется, он может выполнять итерацию по этому коду, изменив и выполнив другой код до тех пор, пока выполнение кода не будет выполнено.
Важно
Интерпретатор кода имеет дополнительные сборы за использование Azure OpenAI сверх платы за токены. Если агент вызывает интерпретатор кода одновременно в двух разных потоках, создаются два сеанса интерпретатора кода. Каждый сеанс по умолчанию активен в течение 1 часа с временем ожидания простоя в 30 минут.
Необходимые условия
Примеры кода
Создание агента с интерпретатором кода
code_interpreter = CodeInterpreterTool()
# An agent is created with the Code Interpreter capabilities:
agent = project_client.agents.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"],
name="my-agent",
instructions="You are helpful agent",
tools=code_interpreter.definitions,
tool_resources=code_interpreter.resources,
)
Вложение файла для использования интерпретатора кода
Если вы хотите, чтобы файл использовался с интерпретатором кода, можно использовать функцию upload_and_poll .
file = agents_client.files.upload_and_poll(file_path=asset_file_path, purpose=FilePurpose.AGENTS)
print(f"Uploaded file, file ID: {file.id}")
code_interpreter = CodeInterpreterTool(file_ids=[file.id])
Создание агента с интерпретатором кода
var projectEndpoint = System.Environment.GetEnvironmentVariable("ProjectEndpoint");
var modelDeploymentName = System.Environment.GetEnvironmentVariable("ModelDeploymentName");
PersistentAgentsClient client = new(projectEndpoint, new DefaultAzureCredential());
PersistentAgent agent = client.Administration.CreateAgent(
model: modelDeploymentName,
name: "My Friendly Test Agent",
instructions: "You politely help with math questions. Use the code interpreter tool when asked to visualize numbers.",
tools: [new CodeInterpreterToolDefinition()]
);
Вложение файла для использования интерпретатора кода
Если вы хотите, чтобы файл использовался с интерпретатором кода, его можно вложить в сообщение.
PersistentAgentFileInfo uploadedAgentFile = client.Files.UploadFile(
filePath: "sample_file_for_upload.txt",
purpose: PersistentAgentFilePurpose.Agents);
var fileId = uploadedAgentFile.Id;
var attachment = new MessageAttachment(
fileId: fileId,
tools: tools
);
// attach the file to the message
PersistentThreadMessage message = client.Messages.CreateMessage(
threadId: thread.Id,
role: MessageRole.User,
content: "Can you give me the documented information in this file?",
attachments: [attachment]
);
Создание агента с интерпретатором кода
// Create the code interpreter tool
const codeInterpreterTool = ToolUtility.createCodeInterpreterTool();
// Enable the code interpreter tool during agent creation
const agent = await client.createAgent("gpt-4o", {
name: "my-agent",
instructions: "You are a helpful agent",
tools: [codeInterpreterTool.definition],
toolResources: codeInterpreterTool.resources,
});
console.log(`Created agent, agent ID: ${agent.id}`);
Вложение файла для использования интерпретатора кода
Если вы хотите, чтобы файл использовался с интерпретатором кода, его можно подключить к инструменту.
// Upload file and wait for it to be processed
const filePath = "./examplefile.csv";
const localFileStream = fs.createReadStream(filePath);
const localFile = await client.files.upload(localFileStream, "assistants", {
fileName: "localFile",
});
// Create code interpreter tool
const codeInterpreterTool = ToolUtility.createCodeInterpreterTool([localFile.id]);
Создание агента с помощью средства интерпретатора кода
curl --request POST \
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/assistants?api-version=$API_VERSION \
-H "Authorization: Bearer $AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"instructions": "You are an AI assistant that can write code to help answer math questions.",
"tools": [
{ "type": "code_interpreter" }
],
"model": "gpt-4o-mini",
"tool_resources"{
"code interpreter": {
}
}
}'
String agentName = "code_interpreter_agent";
CodeInterpreterToolDefinition ciTool = new CodeInterpreterToolDefinition();
CreateAgentOptions createAgentOptions = new CreateAgentOptions(modelName).setName(agentName).setInstructions("You are a helpful agent").setTools(Arrays.asList(ciTool));
PersistentAgent agent = administrationClient.createAgent(createAgentOptions);
Вложение файла для использования интерпретатора кода
Если вы хотите, чтобы файл использовался с интерпретатором кода, его можно подключить к инструменту.
FileInfo uploadedFile = filesClient.uploadFile(new UploadFileRequest(
new FileDetails(BinaryData.fromFile(htmlFile))
.setFilename("sample.html"), FilePurpose.AGENTS));
MessageAttachment messageAttachment = new MessageAttachment(Arrays.asList(BinaryData.fromObject(ciTool))).setFileId(uploadedFile.getId());
PersistentAgentThread thread = threadsClient.createThread();
ThreadMessage createdMessage = messagesClient.createMessage(
thread.getId(),
MessageRole.USER,
"What does the attachment say?",
Arrays.asList(messageAttachment),
null);
Поддерживаемые модели
Страница моделей содержит самые up-to-date сведения о регионах и моделях, где поддерживаются агенты и интерпретатор кода.
Мы рекомендуем использовать программные агенты с последними моделями, чтобы воспользоваться новыми функциями, увеличенными контекстными окнами и более актуальными тренировочными данными.
Поддерживаемые типы файлов
| Формат файла | Тип 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 |
.pdf |
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 |
text/plain |
.css |
text/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 Или text/xml |
.zip |
application/zip |