Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Код использует API агентов версии 1 и несовместим с агентами версии 2 (предварительная версия). Переключитесь на Foundry (новая) для API для агентов версии 2 (предварительная версия).
Интерпретатор кода позволяет агентам записывать и запускать код 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);
Поддерживаемые модели
Страница моделей содержит самые актуальные сведения о регионах и моделях, где поддерживаются агенты и интерпретатор кода.
Мы рекомендуем использовать агенты с последними моделями, чтобы воспользоваться новыми функциями, большими контекстными окнами и более актуальными данными обучения.
Поддерживаемые типы файлов
| Формат файла | Тип 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 |