Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Экспериментальный пакет Microsoft.Testing.Platform.AI определяет абстракции ИИ, нейтральные от поставщика, для платформ тестирования и расширений MTP. Пакет интегрируется с Microsoft.Extensions.AI, поэтому расширение может запрашивать IChatClient, не завися от конкретного поставщика модели.
Important
API искусственного интеллекта используют идентификатор диагностики TPEXP и могут измениться в одном из будущих выпусков. Пакеты предоставляют инфраструктуру расширениям; Они не добавляют поведение ИИ в набор тестов самостоятельно.
Выбор пакетов
Добавьте пакет абстракций при создании расширения, использующее клиент чата. Добавьте пакет поставщика в тестовое приложение, в котором размещено расширение:
dotnet add package Microsoft.Testing.Platform.AI
dotnet add package Microsoft.Testing.Extensions.AzureFoundry
Microsoft.Testing.Extensions.AzureFoundry— это поставщик ссылок, предоставленный Microsoft. Он создает клиент чата OpenAI Azure через Azure AI Foundry.
Настройка Azure AI Foundry
Задайте следующие переменные среды:
| Variable | Обязательный | Описание |
|---|---|---|
AZURE_OPENAI_ENDPOINT |
Да | Конечная точка ресурса Azure OpenAI, например https://my-resource.openai.azure.com. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Да | Имя развертывания модели. |
AZURE_OPENAI_API_KEY |
Conditional | Ключ API ресурсов. Укажите это значение, если не регистрируете TokenCredential в коде. |
Чтобы сохранить учетные данные вне системы управления версиями, укажите эти значения через локальную среду или защищенное хранилище секретов CI.
Регистрация поставщика.
Отключите созданную точку входа MTP и зарегистрируйте поставщика в пользовательском Main методе. Для аутентификации с помощью API-ключа вызовите:
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider();
#pragma warning restore TPEXP
Для Microsoft Entra ID или управляемой идентификации используйте пакет Azure.Identity и передайте учетные данные:
using Azure.Identity;
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider(new DefaultAzureCredential());
#pragma warning restore TPEXP
Если задан параметр AZURE_OPENAI_API_KEY, поставщик использует ключ API раньше, чем предоставленные учетные данные. Разрешение учетных данных и проверка подлинности возникают при выполнении первого запроса чата, поэтому ошибки конфигурации могут не отображаться во время регистрации поставщика.
Используйте чат-клиент
Реализуйте IChatClientProvider для интеграции другого поставщика ИИ. Расширение MTP может получить зарегистрированный клиент чата из его IServiceProvider:
IChatClient? client =
await serviceProvider.GetChatClientAsync(cancellationToken);
Вызов возвращает null, если не зарегистрирован ни один доступный поставщик. Прежде чем расширение отправляет тестовые данные в модель, задокументируйте, какие данные она отправляет и применяет требования к конфиденциальности, безопасности и хранению для данных.