Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Расширение Azure OpenAI для Функции Azure в настоящее время находится в предварительной версии.
Расширение Azure OpenAI для функций Azure реализует набор триггеров и привязок, которые позволяют легко интегрировать функции и поведение Azure OpenAI в Модели Foundry в выполнение кода функции.
Функции Azure — это служба вычислений на основе событий, которая предоставляет набор триггеров и привязок для легкого подключения к другим службам Azure.
Интеграция Между Azure OpenAI и Функциями позволяет создавать функции, которые могут:
| Действие | Тип триггера и привязки |
|---|---|
| Использование стандартного текстового запроса для завершения содержимого | Входная привязка ввода текста OpenAI в Azure OpenAI |
| Ответ на запрос помощника на вызов функции | Триггер помощника по Azure OpenAI |
| Создание помощника | Помощник по Azure OpenAI создает выходную привязку |
| Сообщение помощника | Привязка входных данных помощника по Azure OpenAI |
| Получение журнала помощников | Входная привязка запроса Помощника по Azure OpenAI |
| Чтение внедренных текста | Входная привязка Azure OpenAI для внедрения |
| Запись в векторную базу данных | Выходная привязка хранилища встраивающих модулей Azure OpenAI |
| Чтение из векторной базы данных | Привязка входных данных семантического поиска Azure OpenAI |
Установка расширения
Установленный пакет NuGet расширения зависит от режима C# в процессе или изолированном рабочем процессе, который вы используете в приложении-функции:
Добавьте расширение Azure OpenAI в проект, установив пакет NuGet Microsoft.Azure.Functions.Worker.Extensions.OpenAI NuGet, который можно сделать с помощью интерфейса командной строки .NET:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenAI --prerelease
При использовании векторной базы данных для хранения содержимого также следует установить по крайней мере один из следующих пакетов NuGet:
- Поиск ИИ Azure: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.AzureAISearch
- Azure DocumentDB: Microsoft.Azure. Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Cosmos DB для NoSQL: Microsoft.Azure.Functions.Worker.Extensions.OpenAI.CosmosDBSearch
- Azure Data Explorer: Microsoft.Azure. Functions.Worker.Extensions.OpenAI.Kusto
Установка пакета
Вы можете добавить расширение предпросмотра, добавив или заменив следующий код в вашем host.json файле, который специально предназначен для версии предварительного просмотра пакета 4.x, содержащей расширение OpenAI:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.*, 5.0.0)"
}
}
В настоящее время Go не поддерживается для этой функции.
Connections
Чтобы использовать расширение связывания Azure OpenAI, необходимо указать соединение с определением модели OpenAI. Установите соединение модели OpenAI в ваших привязках, используя один из следующих подходов:
- Используйте свойство
AIConnectionNameпривязки (предпочтительнее для Azure OpenAI). - Установите
AZURE_OPENAI_ENDPOINTиAZURE_OPENAI_KEYв настройках приложения (для Azure OpenAI). - Настройте только
Open_API_Keyв настройках приложения (дляhttps://api.openai.com).
Способ настройки соединения зависит как от API модели, так и от метода аутентификации, что указано в следующей таблице:
| API аутентификации/модели | Azure OpenAI | OpenAI (https://api.openai.com) |
|---|---|---|
| Управляемое соединение идентичности | AIConnectionName |
Не поддерживаются |
| Ссылка на Key Vault | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
| Справочник конфигурации приложений | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
| Общий секрет | AZURE_OPENAI_ENDPOINTAZURE_OPENAI_KEY |
Open_API_Key |
Используйте управляемые связи на основе идентичности и свойство AIConnectionName .
Когда вы используете AIConnectionName, значение этой настройки свойств зависит от типа соединения:
-
Управляемое соединение идентичности: свойство
AIConnectionNameявляется<CONNECTION_NAME_PREFIX>общим для группы настроек, которые вместе определяют соединение на основе идентичности с Azure OpenAI. Для получения дополнительной информации см. раздел «Определить идентичные связи». -
Key Vault reference:
AIConnectionNameНастройка свойств возвращает ссылку Azure Key Vault на место, где централизованно поддерживается ключ API. Для получения дополнительной информации смотрите раздел Define Key Vault connections. -
Reference App Configuration:
AIConnectionNameНастройка свойств возвращает ссылку на Конфигурация приложений Azure, которая возвращает ключ API или ссылку на Key Vault. Для получения дополнительной информации см. Конфигурация приложений Azure в статье о соединениях. -
Ключ API: Настройка свойств разрешается в настройки приложения,
AIConnectionNameсодержащие конечную точку и ключ напрямую. Поскольку общие ключи могут быть скомпрометированы, используйте управляемые идентификационные соединения, когда это возможно. Для получения дополнительной информации см. раздел «Определить соединения».
Чтобы узнать больше о связях соединениях, см. раздел «Управление соединениями в Функции Azure».
Привязки OpenAI включают AIConnectionName свойство, которое можно использовать <ConnectionNamePrefix> для указания группы настроек приложений, определяющих соединение с Azure OpenAI:
| Имя настройки | Описание |
|---|---|
<CONNECTION_NAME_PREFIX>__endpoint |
Устанавливает URI-конечную точку сервиса Azure OpenAI. Этот параметр всегда требуется. |
<CONNECTION_NAME_PREFIX>__clientId |
Задает определенное удостоверение, назначаемое пользователем, для использования при получении маркера доступа. Требуется, чтобы <CONNECTION_NAME_PREFIX>__credential было задано значением managedidentity. Свойство принимает идентификатор клиента, соответствующий назначаемому пользователем удостоверению, которое назначено приложению. Недопустимо указать идентификатор ресурса и идентификатор клиента. Если не указать это свойство, используется системная идентичность. Это свойство используется по-разному в локальных сценариях разработки, если credential не следует задавать. |
<CONNECTION_NAME_PREFIX>__credential |
Определяет способ получения маркера доступа для подключения. Используется managedidentity для проверки подлинности управляемого удостоверения. Это значение допустимо только в том случае, если управляемое удостоверение доступно в среде размещения. |
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
Когда credential установлено в managedidentity, установите это свойство для указания идентификатора ресурса при получении токена. Свойство принимает идентификатор ресурса, соответствующий идентификатору ресурса определяемого пользователем управляемого удостоверения. Недопустимо указать идентификатор ресурса и идентификатор клиента. Если вы не указываете ни то, ни другое, используется системная идентичность. Это свойство используется по-разному в локальных сценариях разработки, если credential не следует задавать. |
<CONNECTION_NAME_PREFIX>__key |
Устанавливает общий секретный ключ, необходимый для доступа к конечной точке сервиса Azure OpenAI, используя аутентификацию по ключу. В качестве лучшей практики безопасности всегда используйте Microsoft Entra ID с управляемыми идентичностями для аутентификации. |
Учитывайте эти управляемые настройки соединения идентичности, когда вы устанавливаете AIConnectionName свойство на :myAzureOpenAI
myAzureOpenAI__endpoint=https://contoso.openai.azure.com/myAzureOpenAI__credential=managedidentitymyAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222
Во время выполнения хост интерпретирует эти настройки как единую myAzureOpenAI настановку:
"myAzureOpenAI":
{
"endpoint": "https://contoso.openai.azure.com/",
"credential": "managedidentity",
"clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}
Когда вы используете управляемые идентичности, обязательно добавьте свою личность в роль пользователя Cognitive Services OpenAI .
При локальном запуске добавьте эти настройки в файл проектаlocal.settings.json . Дополнительные сведения см. в статье "Локальная разработка с использованием подключений на основе удостоверений".
Дополнительные сведения см. в разделе Работа с параметрами приложения.