Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Просмотр текущей версии:Классическая версия портала 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 direct через API завершения чата (а не Ответы). | 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 предоставляет все ранее перечисленные конечные точки. Ресурс Azure OpenAI предоставляет только конечную точку /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
Примечание
Эта статья относится к проекту 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 для классических проектов Foundry pom.xml.
<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);
Что можно сделать с помощью 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, таким как агенты и оценки.
В следующем фрагменте кода показано, как напрямую использовать конечную точку 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());
Для получения дополнительной информации об использовании OpenAI SDK см. раздел Поддерживаемые языки программирования 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.
Использование фреймворка агента для локальной оркестрации
Microsoft Agent Framework — это пакет SDK с открытым исходным кодом для создания многоагентных систем в коде (например, .NET и Python) с помощью интерфейса cloud-provider-agnostic.
Используйте агентный фреймворк, чтобы определить и оркестрировать агентов локально. Используйте его вместе с SDK Foundry, если вы хотите, чтобы агенты выполнялись в моделях Foundry, или когда вы хотите, чтобы Agent Framework выполнял оркестрацию агентов, размещенных в Foundry.
Дополнительные сведения см. в обзоре Microsoft Agent Framework.
Пакеты SDK для средств Foundry Tools
Инструменты Foundry (ранее службы искусственного интеллекта Azure) — это предварительно созданные точечные решения с выделенными SDK. Используйте следующие конечные точки для работы с средствами Foundry.
Какую конечную точку следует использовать?
Выберите конечную точку в зависимости от ваших потребностей:
Используйте конечную точку служб ИИ Azure для доступа к Компьютерное зрение, безопасности содержимого, аналитике документов, языку, переводу и средствам поиска маркеров.
Конечная точка средств Foundry: https://<your-resource-name>.cognitiveservices.azure.com/
Примечание
Конечные точки используют имя ресурса или настраиваемый поддомен. Если ваша организация настроила настраиваемый поддомен, замените во всех примерах конечных точек your-resource-name на your-custom-subdomain.
Если ваши рабочие нагрузки используют устаревающие функции Язык ИИ Azure, например, анализ тональности, извлечение ключевых фраз, суммаризацию, связывание сущностей, или СLU (кластеризация единиц) и CQA (опросы на общие вопросы), планируйте перейти на альтернативные решения Microsoft Foundry. Для новой разработки рекомендуется использовать пакет SDK для Foundry или конечную точку, совместимую с OpenAI, как описано ранее в этой статье. См. раздел Migrate из Language Studio в Microsoft Foundry.
Для средств распознавания речи и перевода используйте конечные точки в следующих таблицах. Замените заполнители сведениями о ресурсе.
Конечные точки речи
| Инструмент 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/ |
Конечные точки перевода
| Литейное средство | конечная точка |
|---|---|
| Перевод текста | 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.