Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ресурс 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 через API завершения чата (а не через Ответы). | https://<resource-name>.openai.azure.com/openai/v1 |
| Пакеты SDK для средств foundry | Предварительно созданные решения (визуальное распознавание, речь, безопасность содержимого и многое другое). | Специфичные для инструмента конечные точки (зависят от службы). |
| Платформа агента | Оркестрация нескольких агентов в коде. Не зависят от облака. | Использует конечную точку проекта с помощью Foundry SDK. |
Выберите пакет SDK:
- Используйте Foundry SDK при создании приложений с агентами, оценками или функциями, относящимися к Foundry.
- Используйте SDK OpenAI, если требуется максимальная совместимость с OpenAI, при создании эмбеддингов или использовании прямых моделей Foundry через Chat Completions.
- Используйте пакеты 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 AI (роль с минимальными привилегиями для разработки)
- 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());
Что можно сделать с помощью Foundry SDK
- 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, таким как агенты и оценки.
Совет
Используйте конечную точку пакета SDK OpenAI для генерации векторов представлений. Конечная точка проекта, используемая пакетом SDK 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
Генерация эмбеддингов с помощью средства разработки SDK OpenAI
Используйте ту же /openai/v1 конечную точку для генерации эмбеддингов с развернутой моделью эмбеддингов.
embedding = client.embeddings.create(
model="text-embedding-3-large",
input="How do I get started with Microsoft Foundry?",
)
print(f"Embedding dimension: {len(embedding.data[0].embedding)}")
const embedding = await client.embeddings.create({
model: "text-embedding-3-large",
input: "How do I get started with Microsoft Foundry?",
});
console.log(`Embedding dimension: ${embedding.data[0].embedding.length}`);
var embeddingClient = openAIClient.GetEmbeddingClient("text-embedding-3-large");
var result = embeddingClient.GenerateEmbedding(
"How do I get started with Microsoft Foundry?");
Console.WriteLine($"Embedding dimension: {result.Value.ToFloats().Length}");
// Use the same OpenAI client created above
// Embeddings are available through the OpenAI SDK embeddings API
Полные инструкции по внедрению см. в разделе "Создание внедрения".
Использование «Agent Framework» для локальной оркестрации
Microsoft Agent Framework — это пакет SDK с открытым исходным кодом для создания многоагентных систем в коде (например, .NET и Python) с помощью интерфейса cloud-provider-agnostic.
Используйте фреймворк агентов, если вы хотите определить и оркестрировать агентов локально. Соедините его с SDK Foundry, если вы хотите, чтобы эти агенты работали с моделями Foundry, или если вы хотите, чтобы Framework агентов управлял агентами, размещенными в Foundry.
Дополнительные сведения см. в обзоре Microsoft Agent Framework.
Пакеты SDK для средств Foundry Tools
Инструменты Foundry (ранее Azure AI Services) — это предварительно разработанные точечные решения с выделенными пакетами SDK. Используйте следующие конечные точки для работы с средствами Foundry.
Какую конечную точку следует использовать?
Выберите конечную точку в зависимости от ваших потребностей:
Используйте конечную точку служб ИИ Azure для доступа к Компьютерное зрение, безопасности содержимого, аналитике документов, языку, переводу и средствам поиска маркеров.
Конечная точка средств Foundry: https://<your-resource-name>.cognitiveservices.azure.com/
Примечание
Конечные точки используют имя ресурса или настраиваемый поддомен. Если ваша организация настроила настраиваемый поддомен, замените во всех примерах конечных точек your-resource-name на your-custom-subdomain.
Если ваши рабочие нагрузки используют функции, которые Язык ИИ Azure прекращает поддерживать, такие как анализ тональности, извлечение ключевых фраз, резюмирование, связывание сущностей, CLU или CQA, следует планировать миграцию на альтернативы Foundry от Microsoft. Для новой разработки рекомендуется использовать пакет SDK для Foundry или конечную точку, совместимую с OpenAI, как описано ранее в этой статье. См. раздел Migrate из Language Studio в Microsoft Foundry.
Для средств распознавания речи и перевода используйте конечные точки в следующих таблицах. Замените заполнители сведениями о ресурсе.
Конечные точки речи
| Литейный инструмент | конечная точка |
|---|---|
| Речь к тексту (стандартная версия) | https://<YOUR-RESOURCE-REGION>.stt.speech.microsoft.com |
| Text to Speech (нейронные) | 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.