Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В настоящее время просмотр:Версия портала Foundry (классическая версия) - Переключиться на версию для нового портала Foundry
Ресурс 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
Примечание
Эта статья относится к проекту Foundry. Приведенный здесь код не работает для центрального проекта. Дополнительные сведения см. в разделе "Типы проектов".
Примечание
Версии пакета SDK: В этой статье рассматривается установка пакета SDK 1.x. Убедитесь, что приведенные ниже примеры соответствуют установленному пакету. Перейдите на новую страницу документации по порталу Foundry для просмотра статьи версии 2.x.
| Версия пакета SDK | Версия портала | Статус | Пакет Python |
|---|---|---|---|
| 2.x | Литейный цех (новый) | Стабильный | azure-ai-projects>=2.0.0 |
| 1.x | Литейный (классический) | Стабильный | azure-ai-projects==1.0.0 |
Клиентская библиотека Azure AI Projects для Python — это единая библиотека, которая позволяет совместно использовать несколько клиентских библиотек, подключаясь к одной конечной точке проекта.
Выполните эту команду, чтобы установить пакеты 1.x для классических проектов Foundry.
pip install openai azure-identity azure-ai-projects==1.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-beta.1 (предварительная версия) | Литейный цех (новый) | Предварительный просмотр | Azure.AI.ProjectsAzure.AI.Projects.OpenAI |
| 1.1.0 (GA) | Классический литейный | Стабильный | Azure.AI.Projects |
Клиентская библиотека Azure AI Projects для Java — это единая библиотека, которая позволяет совместно использовать несколько клиентских библиотек, подключаясь к одной конечной точке проекта.
Важно
Пакет Java azure-ai-projects не имеет выпуска общедоступной версии 1.x. Примеры кода в разделах Java используют пакет azure-ai-inference напрямую, который устарел и будет прекращен 30 мая 2026 года.
Для SDK проектов версии 2.x переключитесь на новую документацию портала Foundry.
Добавьте эти зависимости в классические проекты Maven pom.xml для Foundry.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-inference</artifactId>
<version>1.0.0-beta.6</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.18.2</version>
</dependency>
Клиентская библиотека Azure AI Projects для JavaScript — это единая библиотека, которая позволяет совместно использовать несколько клиентских библиотек, подключаясь к одной конечной точке проекта.
Выполните эту команду, чтобы установить пакеты JavaScript версии 1.x для классических проектов Foundry.
npm install @azure/ai-projects@1.0.1 @azure/identity
Клиентская библиотека Azure AI Projects для .NET — это единая библиотека, которая позволяет совместно использовать несколько клиентских библиотек, подключаясь к одной конечной точке проекта.
Выполните эти команды, чтобы добавить пакеты SDK 1.x Azure ИИ для классических проектов Foundry.
# Add 1.x Azure AI SDK packages
dotnet add package Azure.Identity
dotnet add package Azure.AI.Projects --version 1.1.0
dotnet add package Azure.AI.Agents.Persistent --version 1.1.0
dotnet add package Azure.AI.Inference
Использование пакета SDK для Foundry
Пакет SDK предоставляет два типа клиентов, так как Foundry и OpenAI имеют разные формы API:
- Клиент Project — используется для операций на основе Foundry, где не предусмотрен эквивалент OpenAI. Примеры: перечисление подключений, получение свойств проекта, включение трассировки.
-
Клиент, совместимый с OpenAI , используется для функций Foundry, основанных на концепциях OpenAI. API ответов, агенты, оценки и тонкая настройка используют паттерны запросов и ответов в стиле OpenAI. Этот клиент также предоставляет вам доступ к моделям Foundry с прямым доступом (моделям, не относящимся к Azure-OpenAI, размещенным в Foundry). Конечная точка проекта обслуживает этот трафик по маршруту
/openai.
Большинство приложений используют оба клиента. Используйте клиент проекта для настройки и настройки, а затем используйте клиент, совместимый с OpenAI, для выполнения агентов, вычислений и вызовов моделей (включая прямые модели Foundry).
Создайте клиент проекта:
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
project_client = AIProjectClient(
endpoint="https://<resource-name>.services.ai.azure.com/api/projects/<project-name>",
credential=DefaultAzureCredential(),
)
Создайте клиент, совместимый с OpenAI, из проекта:
models = project_client.get_openai_client(api_version="2024-10-21")
chat_responses = models.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "What is the size of France in square miles?"},
],
)
print(chat_responses.choices[0].message.content)
Создайте клиент проекта:
package com.azure.ai.foundry.samples;
import com.azure.ai.inference.ChatCompletionsClient;
import com.azure.ai.inference.ChatCompletionsClientBuilder;
import com.azure.ai.inference.models.ChatCompletions;
import com.azure.core.credential.AzureKeyCredential;
import com.azure.core.credential.TokenCredential;
import com.azure.core.exception.HttpResponseException;
import com.azure.core.util.logging.ClientLogger;
import com.azure.identity.DefaultAzureCredentialBuilder;
String prompt = "What best practices should I follow when asking an AI model to review Java code?";
String endpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
TokenCredential credential = new DefaultAzureCredentialBuilder().build();
ChatCompletionsClient client = new ChatCompletionsClientBuilder()
.credential(credential)
.endpoint(endpoint)
.buildClient();
```**Create and use an OpenAI-compatible client from your project:**
```java
ChatCompletions completions = client.complete(prompt);
String content = completions.getChoice().getMessage().getContent();
System.out.println("\nResponse from AI assistant:\n" + content);
Создайте клиент проекта:
const endpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
const deployment = "gpt-4o";
const project = new AIProjectClient(endpoint, new DefaultAzureCredential());
Создайте клиент, совместимый с OpenAI, из проекта:
const client = await project.getAzureOpenAIClient({
// The API version should match the version of the Azure OpenAI resource
apiVersion: "2024-12-01-preview"
});
const chatCompletion = await client.chat.completions.create({
model: deployment,
messages: [
{ role: "system", content: "You are a helpful assistant" },
{ role: "user", content: "What is the speed of light?" },
],
});
console.log(chatCompletion.choices[0].message.content);
Создайте клиент проекта:
using System.ClientModel.Primitives;
using Azure.AI.OpenAI;
using Azure.AI.Projects;
using Azure.Identity;
using OpenAI.Chat;
string endpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
AIProjectClient projectClient = new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential());
Создайте клиент, совместимый с OpenAI, из проекта:
ClientConnection connection = projectClient.GetConnection(typeof(AzureOpenAIClient).FullName!);
if (!connection.TryGetLocatorAsUri(out Uri uri) || uri is null)
{
throw new InvalidOperationException("Invalid URI.");
}
uri = new Uri($"https://{uri.Host}");
const string modelDeploymentName = "gpt-4o";
AzureOpenAIClient azureOpenAIClient = new AzureOpenAIClient(uri, new DefaultAzureCredential());
ChatClient chatClient = azureOpenAIClient.GetChatClient(deploymentName: modelDeploymentName);
Console.WriteLine("Complete a chat");
ChatCompletion result = chatClient.CompleteChat("List all the rainbow colors");
Console.WriteLine(result.Content[0].Text);
Что можно сделать с помощью 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))
Для получения дополнительной информации см. в разделе поддерживаемые языки программирования Azure OpenAI. Ожидаемые выходные данные:
{
"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
Важно
Элементы, помеченные (предварительная версия) в этой статье, в настоящее время находятся в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или могут иметь ограниченные возможности. Дополнительные сведения см. в разделе Supplemental Terms of Use for Microsoft Azure Previews.
В следующем фрагменте кода показано, как напрямую использовать конечную точку Azure OpenAI /openai/v1.
import com.azure.ai.openai.OpenAIClient;
import com.azure.ai.openai.OpenAIClientBuilder;
import com.azure.ai.openai.models.ChatChoice;
import com.azure.ai.openai.models.ChatCompletions;
import com.azure.ai.openai.models.ChatCompletionsOptions;
import com.azure.ai.openai.models.ChatRequestAssistantMessage;
import com.azure.ai.openai.models.ChatRequestMessage;
import com.azure.ai.openai.models.ChatRequestSystemMessage;
import com.azure.ai.openai.models.ChatRequestUserMessage;
import com.azure.ai.openai.models.ChatResponseMessage;
import com.azure.core.credential.AzureKeyCredential;
import com.azure.core.util.Configuration;
import java.util.ArrayList;
import java.util.List;
String endpoint = "https://<resource-name>.openai.azure.com/openai/v1";
String deploymentName = "gpt-5.2";
TokenCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
OpenAIClient client = new OpenAIClientBuilder()
.credential(defaultCredential)
.endpoint("{endpoint}")
.buildClient();
List<ChatRequestMessage> chatMessages = new ArrayList<>();
chatMessages.add(new ChatRequestSystemMessage("You are a helpful assistant."));
chatMessages.add(new ChatRequestUserMessage("What is the speed of light?"));
ChatCompletions chatCompletions = client.getChatCompletions(deploymentName, new ChatCompletionsOptions(chatMessages));
System.out.printf("Model ID=%s is created at %s.%n", chatCompletions.getId(), chatCompletions.getCreatedAt());
for (ChatChoice choice : chatCompletions.getChoices()) {
ChatResponseMessage message = choice.getMessage();
System.out.printf("Index: %d, Chat Role: %s.%n", choice.getIndex(), message.getRole());
System.out.println("Message:");
System.out.println(message.getContent());
Дополнительные сведения об использовании пакета SDK OpenAI см. в разделе поддерживаемые языки программирования Azure OpenAI.
import { AzureOpenAI } from "openai";
import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
const deployment = "gpt-4o";
const endpoint = "https://<resource-name>.openai.azure.com";
const scope = "https://ai.azure.com/.default";
const apiVersion = "2024-04-01-preview";
const azureADTokenProvider = getBearerTokenProvider(new DefaultAzureCredential(), scope);
const options = { azureADTokenProvider, deployment, apiVersion, endpoint };
const client = new AzureOpenAI(options);
const result = await client.chat.completions.create({
model: deployment,
messages: [
{ role: "system", content: "You are a helpful assistant" },
{ role: "user", content: "What is the speed of light?" },
],
});
console.log(result.choices[0].message.content);
Дополнительные сведения об использовании пакета 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 `ChatClient` for the Azure OpenAI v1 endpoint. ```csharp using System.ClientModel.Primitives; using Azure.Identity; using OpenAI; using OpenAI.Chat; #pragma warning disable OPENAI001 const string directModelEndpoint = "https://<resource-name>.openai.azure.com/openai/v1/"; const string modelDeploymentName = "gpt-5.2"; BearerTokenPolicy tokenPolicy = new( new DefaultAzureCredential(), "https://ai.azure.com/.default"); OpenAIClient openAIClient = new( authenticationPolicy: tokenPolicy, options: new OpenAIClientOptions() { Endpoint = new($"{directModelEndpoint}"), }); ChatClient chatClient = openAIClient.GetChatClient(modelDeploymentName); ChatCompletion completion = await chatClient.CompleteChatAsync( [ new SystemChatMessage("You are a helpful assistant."), new UserChatMessage("How many feet are in a mile?") ]); Console.WriteLine(completion.Content[0].Text); #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.