Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ресурс Foundry предоставляет унифицированный доступ к моделям, агентам и средствам. В этой статье объясняется, какой пакет SDK и конечная точка используются для вашего сценария.
| SDK | Что это за | Конечная точка |
|---|---|---|
| Foundry SDK | Возможности, зависящие от производственных мощностей, с интерфейсами, совместимыми с OpenAI. Включает доступ к прямым моделям Foundry через API ответов (а не завершения чата). | https://<resource-name>.services.ai.azure.com/api/projects/<project-name> |
| OpenAI SDK | Последние модели и функции пакета SDK OpenAI с полной поверхностью API OpenAI. Непосредственные модели Foundry доступны через Chat Completions API (а не через Responses). | https://<resource-name>.openai.azure.com/openai/v1 |
| Пакеты SDK для инструментов Foundry | Предварительно созданные решения (визуальное распознавание, речь, безопасность содержимого и многое другое). | Конечные точки, специфичные для инструмента (зависят от службы). |
| Платформа агента | Многоагентная координация в коде. Не зависят от облака. | Использует конечную точку проекта через Foundry SDK. |
Выберите пакет SDK:
- Используйте Foundry SDK при создании приложений с агентами, оценками или функциями, относящимися к Foundry
- Используйте пакет SDK OpenAI , если требуется максимальная совместимость OpenAI или использование прямых моделей Foundry с помощью завершения чата
- Используйте пакеты SDK для средств Foundry при работе с определенными службами ИИ (визуальное распознавание, речь, язык и т. д.)
- Использование Agent Framework при создании многоагентных систем в коде (локальная оркестрация)
Примечание
Типы ресурсов: Ресурс Foundry предоставляет все ранее перечисленные конечные точки. Ресурс OpenAI Azure предоставляет только конечную точку /openai/v1.
Authentication: Примеры используют Microsoft Entra ID (DefaultAzureCredential). Ключи API работают с /openai/v1. Передайте ключ api_key вместо маркерного провайдера.
Необходимые условия
-
Учетная запись Azure с активной подпиской. Если у вас нет, создайте учетную запись free Azure, которая включает бесплатную пробную подписку.
Укажите одну из следующих Azure ролей RBAC для создания ресурсов Foundry и управления ими.
- Пользователь Azure ИИ (роль с наименьшими привилегиями для разработки)
- Azure Ai Project Manager (для управления проектами Foundry)
- Участник или владелец (для разрешений на уровне подписки)
Дополнительные сведения о разрешениях каждой роли см. в разделе Role-based access control for Microsoft Foundry.
Установите необходимые языковые среды выполнения, глобальные средства и расширения VS Code, как описано в разделе "Подготовка среды разработки".
Важно
Перед началом работы убедитесь, что среда разработки готова.
В этой статье рассматриваются конкретные сценарии, такие как установка пакета SDK, проверка подлинности и выполнение примера кода.
Проверка предварительных требований
Прежде чем продолжить, подтвердите:
- Azure подписка активна:
az account show - У вас есть необходимая роль RBAC: проверьте в Azure портале → ресурс Foundry → управление доступом (IAM)
- Установленная языковая среда выполнения:
- Python:
python --version(≥3.8)
- Python:
- Установленная языковая среда выполнения:
- Node.js:
node --version(≥18)
- Node.js:
- Установленная языковая среда выполнения:
- .NET:
dotnet --version(≥6.0)
- .NET:
- Установленная языковая среда выполнения:
- Java:
java --version(≥11)
- Java:
Foundry SDK
Пакет SDK Foundry подключается к одной конечной точке проекта, которая предоставляет доступ к наиболее популярным возможностям Foundry:
https://<resource-name>.services.ai.azure.com/api/projects/<project-name>
Примечание
Если в организации используется настраиваемый поддомен, замените <resource-name> на <your-custom-subdomain> URL-адрес конечной точки.
Этот подход упрощает настройку приложения. Вместо управления несколькими конечными точками можно настроить одну.
Установка пакета SDK
| Версия пакета SDK | Версия портала | Статус | Пакет Python |
|---|---|---|---|
| 2.x | Литейный цех (новый) | Стабильный | azure-ai-projects>=2.0.0 |
| 1.x | Литейный (классический) | Стабильный | azure-ai-projects==1.0.0 |
Клиентская библиотека Azure AI Projects для Python — это единая библиотека, которая позволяет совместно использовать несколько клиентских библиотек, подключаясь к одной конечной точке проекта.
Выполните эту команду, чтобы установить пакеты для проектов Foundry.
pip install "azure-ai-projects>=2.0.0"
| Версия пакета SDK | Версия портала | Статус | Пакет Java |
|---|---|---|---|
| 2.0.0 | Литейный цех (новый) | Стабильный | azure-ai-projectsazure-ai-agents |
| Версия пакета SDK | Версия портала | Статус | Пакет JavaScript |
|---|---|---|---|
| 2.0.1 | Литейный цех (новый) | Стабильный | @azure/ai-projects |
| 1.0.1 | Классический литейный | Стабильный | @azure/ai-projects |
| Версия пакета SDK | Версия портала | Статус | пакет .NET |
|---|---|---|---|
| 2.0.0 (GA) | Литейный цех (новый) | Стабильный | Azure.AI.ProjectsAzure.AI.Projects.AgentsAzure.AI.Extensions.OpenAI |
| 1.1.0 (GA) | Классический литейный | Стабильный | Azure.AI.Projects |
Важно
Не устанавливайте Azure.AI.Projects.OpenAI (предварительная версия) вместе с Azure.AI.Extensions.OpenAI (GA). Оба пакета определяют одни и те же типы в разных пространствах имен, что приводит к неоднозначным ошибкам ссылок. Используйте только Azure.AI.Extensions.OpenAI для сценариев агента.
Клиентская библиотека Azure AI Projects для Java — это единая библиотека, которая позволяет совместно использовать несколько клиентских библиотек, подключаясь к одной конечной точке проекта.
Добавьте эти пакеты в установку для проектов Foundry.
package com.azure.ai.agents;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
Клиентская библиотека Azure AI Projects для JavaScript — это единая библиотека, которая позволяет совместно использовать несколько клиентских библиотек, подключаясь к одной конечной точке проекта.
Выполните эту команду, чтобы установить пакеты JavaScript для проектов Foundry.
npm install @azure/ai-projects @azure/identity dotenv
Клиентская библиотека Azure AI Projects для .NET — это единая библиотека, которая позволяет совместно использовать несколько клиентских библиотек, подключаясь к одной конечной точке проекта.
Выполните эти команды, чтобы добавить необходимые пакеты в проект .NET.
dotnet add package Azure.AI.Projects
dotnet add package Azure.AI.Projects.Agents
dotnet add package Azure.AI.Extensions.OpenAI
dotnet add package Azure.Identity
Использование пакета SDK для Foundry
Пакет SDK предоставляет два типа клиентов, так как Foundry и OpenAI имеют разные формы API:
- Клиент Project — используется для операций на основе Foundry, где не предусмотрен эквивалент OpenAI. Примеры: перечисление подключений, получение свойств проекта, включение трассировки.
-
Клиент, совместимый с OpenAI , используется для функций Foundry, основанных на концепциях OpenAI. API ответов, агенты, оценки и тонкая настройка используют паттерны запросов и ответов в стиле OpenAI. Этот клиент также предоставляет вам доступ к моделям Foundry с прямым доступом (моделям, не относящимся к Azure-OpenAI, размещенным в Foundry). Конечная точка проекта обслуживает этот трафик по маршруту
/openai.
Большинство приложений используют оба клиента. Используйте клиент проекта для настройки и настройки, а затем используйте клиент, совместимый с OpenAI, для выполнения агентов, вычислений и вызовов моделей (включая прямые модели Foundry).
Создайте клиент проекта:
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
project_client = AIProjectClient(
endpoint="https://<resource-name>.services.ai.azure.com/api/projects/<project-name>",
credential=DefaultAzureCredential())
Создайте клиент, совместимый с OpenAI, из проекта:
with project_client.get_openai_client() as openai_client:
response = openai_client.responses.create(
model="gpt-5.2",
input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")
Ожидаемые выходные данные:
Response output: France has an area of approximately 213,011 square miles (551,695 square kilometers).
Создайте клиент проекта:
import com.azure.ai.projects.ProjectsClient;
import com.azure.ai.projects.ProjectsClientBuilder;
import com.azure.identity.DefaultAzureCredentialBuilder;
String endpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
ProjectsClient projectClient = new ProjectsClientBuilder()
.credential(new DefaultAzureCredentialBuilder().build())
.endpoint(endpoint)
.buildClient();
```**Create and use an OpenAI-compatible client from your project:**
```java
OpenAIClient openAIClient = projectClient.getOpenAIClient();
Создайте клиент проекта:
import { DefaultAzureCredential } from "@azure/identity";
import { AIProjectClient } from "@azure/ai-projects";
import "dotenv/config";
const projectEndpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
const deploymentName = "gpt-5.2";
const project = new AIProjectClient(projectEndpoint, new DefaultAzureCredential());
Создайте клиент, совместимый с OpenAI, из проекта:
const openAIClient = await project.getOpenAIClient();
const response = await openAIClient.responses.create({
model: deploymentName,
input: "What is the size of France in square miles?",
});
console.log(`Response output: ${response.output_text}`);
Создайте клиент проекта:
using Azure.AI.Projects;
using Azure.AI.Extensions.OpenAI;
using Azure.Identity;
string endpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
AIProjectClient projectClient = new(
endpoint: new Uri(endpoint),
tokenProvider: new DefaultAzureCredential());
Создайте клиент, совместимый с OpenAI, из проекта:
var responseClient = projectClient.ProjectOpenAIClient.GetProjectResponsesClientForModel("gpt-5.2");
var response = responseClient.CreateResponse("What is the speed of light?");
Console.WriteLine(response.GetOutputText());
Что можно сделать с помощью SDK Foundry
- Access Foundry Models включая Azure OpenAI
- Использование службы агента Foundry
- Выполнение пакетных вычислений
- Включение трассировки приложений
- Точное настройка модели
- Получение конечных точек и ключей для средств Foundry, локальной оркестрации и т. д.
Устранение неполадок
Ошибки проверки подлинности
Если вы видите DefaultAzureCredential failed to retrieve a token:
Проверьте, что Azure CLI аутентифицирован:
az account show az login # if not logged inПроверьте назначение ролей RBAC:
- Убедитесь, что у вас есть, по крайней мере, роль пользователя Azure AI в проекте Foundry
- См. раздел Назначение ролей Azure
Для управляемой идентификации в рабочей среде:
- Убедитесь, что управляемой идентичности назначена соответствующая роль
- См Настройка управляемых удостоверений
Ошибки конфигурации конечной точки
Если вы видите Connection refused или 404 Not Found:
- Убедитесь, что имена ресурсов и проектов соответствуют фактическому развертыванию
-
Проверьте формат URL-адреса конечной точки: должно быть
https://<resource-name>.services.ai.azure.com/api/projects/<project-name> -
Для пользовательских поддоменов: замените
<resource-name>настраиваемым поддоменом
Несоответствие версий пакета SDK
Если примеры кода завершаются ошибкой AttributeError или ModuleNotFoundError:
Проверьте версию пакета SDK:
pip show azure-ai-projects # Python npm list @azure/ai-projects # JavaScript dotnet list package # .NETПереустановка с правильными флагами версий: см. команды установки в каждом разделе языка выше
OpenAI SDK
Используйте пакет SDK OpenAI, если требуется полная поверхность API OpenAI и максимальная совместимость клиента. Эта конечная точка предоставляет доступ к Azure моделям OpenAI и прямым моделям Foundry (через API ответов). Он не предоставляет доступ к функциям, зависящим от Foundry, таким как агенты и оценки.
В следующем фрагменте кода показано, как напрямую использовать конечную точку Azure OpenAI /openai/v1.
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://ai.azure.com/.default"
)
client = OpenAI(
base_url = "https://<resource-name>.openai.azure.com/openai/v1/",
api_key=token_provider,
)
response = client.responses.create(
model="model_deployment_name",
input= "What is the size of France in square miles?"
)
print(response.model_dump_json(indent=2))
Ожидаемые выходные данные:
{
"id": "resp_abc123",
"object": "response",
"created": 1234567890,
"model": "gpt-5.2",
"output_text": "France has an area of approximately 213,011 square miles (551,695 square kilometers)."
}
Для получения дополнительной информации см. раздел Поддерживаемые языки программирования Azure OpenAI
В следующем фрагменте кода показано, как напрямую использовать конечную точку Azure OpenAI /openai/v1.
import com.azure.identity.AuthenticationUtil;
import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.credential.BearerTokenCredential;
import java.util.function.Supplier;
DefaultAzureCredential tokenCredential = new DefaultAzureCredentialBuilder().build();
String endpoint = "https://<resource-name>.openai.azure.com/openai/v1";
String deploymentName = "gpt-5.2";
Supplier<String> bearerTokenSupplier = AuthenticationUtil.getBearerTokenSupplier(
tokenCredential, "https://ai.azure.com/.default");
OpenAIClient openAIClient = OpenAIOkHttpClient.builder()
.baseUrl(endpoint)
.credential(BearerTokenCredential.create(bearerTokenSupplier))
.build();
ResponseCreateParams responseCreateParams = ResponseCreateParams.builder()
.input("What is the speed of light?")
.model(deploymentName)
.build();
Response response = openAIClient.responses().create(responseCreateParams);
System.out.println("Response output: " + response.getOutputText());
Дополнительные сведения об использовании пакета SDK OpenAI см. в разделе Azure поддерживаемые языки программирования OpenAI
const endpoint = "https://<resource-name>.openai.azure.com/openai/v1";
const scope = "https://ai.azure.com/.default";
const azureADTokenProvider = getBearerTokenProvider(new DefaultAzureCredential(), scope);
const client = new OpenAI({ baseURL: endpoint, apiKey: azureADTokenProvider });
const response = await client.responses.create({
model: deploymentName,
input: "What is the size of France in square miles?",
});
console.log(`Response output: ${response.output_text}`);
Дополнительные сведения об использовании пакета SDK OpenAI см. в разделе Azure поддерживаемые языки программирования OpenAI
- Установите пакет OpenAI: выполните следующую команду, чтобы добавить клиентную библиотеку OpenAI в проект .NET.
dotnet add package OpenAI ```When it succeeds, the .NET CLI confirms that it installed the `OpenAI` package. This snippet configures `DefaultAzureCredential`, builds `OpenAIClientOptions`, and creates a `ResponsesClient` for the Azure OpenAI v1 endpoint. ```csharp using Azure.Identity; using OpenAI; using OpenAI.Responses; using System.ClientModel.Primitives; #pragma warning disable OPENAI001 const string directModelEndpoint = "https://<resource-name>.openai.azure.com/openai/v1/"; const string deploymentName = "gpt-5.2"; BearerTokenPolicy tokenPolicy = new( new DefaultAzureCredential(), "https://ai.azure.com/.default"); OpenAIClient openAIClient = new( authenticationPolicy: tokenPolicy, options: new OpenAIClientOptions() { Endpoint = new($"{directModelEndpoint}"), }); ResponsesClient client = openAIClient.GetResponsesClient(); CreateResponseOptions options = new() { Model = deploymentName, InputItems = { ResponseItem.CreateUserMessageItem("What is the size of France in square miles?") }, Temperature = (float)0.7, }; var modelDirectResponse = client.CreateResponse(options); Console.WriteLine($"[ASSISTANT]: {modelDirectResponse.Value.GetOutputText()}"); #pragma warning restore OPENAI001
Дополнительные сведения об использовании пакета SDK OpenAI см. в разделе Azure поддерживаемые языки программирования OpenAI
Использование Agent Framework для локальной оркестрации
Microsoft Agent Framework — это пакет SDK с открытым исходным кодом для создания многоагентных систем в коде (например, .NET и Python) с помощью интерфейса cloud-provider-agnostic.
Используйте Agent Framework, если вы хотите локально определять и оркестрировать агентов. Используйте его вместе с пакетом SDK Foundry, если вы хотите, чтобы эти агенты выполнялись на моделях Foundry или когда вы хотите, чтобы Agent Framework управлял работой агентов, размещенных в Foundry.
Дополнительные сведения см. в обзоре Microsoft Agent Framework.
Пакеты SDK для инструментов разработки программного обеспечения
Инструменты Foundry (ранее Azure AI Services) — это предварительно созданные решения для конкретных задач со специальными SDK. Используйте следующие конечные точки для работы с средствами Foundry.
Какую конечную точку следует использовать?
Выберите конечную точку в зависимости от ваших потребностей:
Используйте конечную точку служб ИИ Azure для доступа к Компьютерное зрение, безопасности содержимого, аналитике документов, языку, переводу и средствам поиска маркеров.
Конечная точка средств Foundry: https://<your-resource-name>.cognitiveservices.azure.com/
Примечание
Конечные точки используют имя ресурса или настраиваемый поддомен. Если ваша организация настроила пользовательский поддомен, замените your-resource-name на your-custom-subdomain во всех примерах конечных точек.
Если ваши рабочие нагрузки используют устаревающие функции Язык ИИ Azure, такие как анализ тональности, извлечение ключевых фраз, суммаризация, связывание сущностей, CLU или CQA, запланируйте переход на альтернативные решения Microsoft Foundry. Для новой разработки рекомендуется использовать пакет SDK для Foundry или конечную точку, совместимую с OpenAI, как описано ранее в этой статье. См. раздел Migrate из Language Studio в Microsoft Foundry.
Для средств распознавания речи и перевода используйте конечные точки в следующих таблицах. Замените заполнители данными о ваших ресурсах.
Конечные точки службы "Речь"
| Инструмент Foundry | Конечная точка |
|---|---|
| Речь к тексту (стандартная версия) | https://<YOUR-RESOURCE-REGION>.stt.speech.microsoft.com |
| Синтез речи (нейронный) | https://<YOUR-RESOURCE-REGION>.tts.speech.microsoft.com |
| Пользовательский голос | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com/ |
Конечные точки перевода
| Инструмент Foundry | Конечная точка |
|---|---|
| Перевод текста | https://api.cognitive.microsofttranslator.com/ |
| Перевод документов | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com/ |
Конечные точки языка
| Инструмент Foundry | Конечная точка |
|---|---|
| Анализ текста | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com |
Важно
20 марта 2027 г. Azure Language Studio будет прекращена и перенесена в Microsoft Foundry; все возможности и будущие улучшения будут доступны в Microsoft Foundry.
31 марта 2029 г. следующие возможности языка Azure будут прекращены (прекращение поддержки). До этой даты пользователи должны перенести существующие рабочие нагрузки и подключить новые проекты к Microsoft модели Foundry для улучшения распознавания естественного языка и упрощенной интеграции приложений:
- Извлечение ключевых фраз
- Анализ тональности и анализ мнений
- Классификация пользовательского текста
- Понимание разговорного языка (CLU)
- Пользовательская система ответов на вопросы (CQA)
- Рабочий процесс оркестрации
- Суммаризация (экстрактивная и абстрактивная, для документов и бесед)
- Связывание сущностей
Основные функции с постоянной поддержкой: определение языка, обнаружение PII, Анализ текста для здравоохранения, предварительно созданный NER и пользовательский NER.
Варианты миграции см. в разделе Migrate из Language Studio в Microsoft Foundry.