Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Расширение Azure OpenAI для Функции Azure в настоящее время находится в предварительной версии.
Входная привязка ввода текста в Azure OpenAI позволяет перенести API завершения текста результатов в выполнение кода. Вы можете определить привязку для использования обоих предопределенных запросов с параметрами или передать весь запрос.
Сведения о настройке и настройке расширения Azure OpenAI см. в Функции Azure расширения Azure OpenAI. Дополнительные сведения о завершении Azure OpenAI см. в статье Создание или управление текстом.
Замечание
Ссылки и примеры предоставляются только для модели Node.js версии 4.
Замечание
Ссылки и примеры предоставляются только для модели Python версии 2.
Замечание
Хотя поддерживаются обе модели процессов C#, предоставляются только примеры изолированных рабочих моделей .
Пример
Поддержка Go для этого привязки сейчас недоступна.
В этом примере демонстрируется шаблон шаблонов , где функция триггера HTTP принимает name параметр и внедряет его в текстовый запрос, который затем отправляется в API завершения Azure OpenAI расширением. Ответ на запрос возвращается в ответе HTTP.
[Function(nameof(WhoIs))]
public static IActionResult WhoIs(
[HttpTrigger(AuthorizationLevel.Function, Route = "whois/{name}")] HttpRequestData req,
[TextCompletionInput("Who is {name}?", ChatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", AIConnectionName = "AzureOpenAI")] TextCompletionResponse response)
{
return new OkObjectResult(response.Content);
}
Этот пример принимает запрос в качестве входных данных, отправляет его непосредственно в API завершения и возвращает ответ в качестве выходных данных.
[Function(nameof(GenericCompletion))]
public static IActionResult GenericCompletion(
[HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequestData req,
[TextCompletionInput("{Prompt}", ChatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", AIConnectionName = "AzureOpenAI")] TextCompletionResponse response,
ILogger log)
{
string text = response.Content;
return new OkObjectResult(text);
}
В этом примере демонстрируется шаблон шаблонов , где функция триггера HTTP принимает name параметр и внедряет его в текстовый запрос, который затем отправляется в API завершения Azure OpenAI расширением. Ответ на запрос возвращается в ответе HTTP.
@FunctionName("WhoIs")
public HttpResponseMessage whoIs(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.FUNCTION,
route = "whois/{name}")
HttpRequestMessage<Optional<String>> request,
@BindingName("name") String name,
@TextCompletion(prompt = "Who is {name}?", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", name = "response", isReasoningModel = false, aiConnectionName = "AzureOpenAI") TextCompletionResponse response,
final ExecutionContext context) {
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(response.getContent())
.build();
}
Этот пример принимает запрос в качестве входных данных, отправляет его непосредственно в API завершения и возвращает ответ в качестве выходных данных.
@FunctionName("GenericCompletion")
public HttpResponseMessage genericCompletion(
@HttpTrigger(
name = "req",
methods = {HttpMethod.POST},
authLevel = AuthorizationLevel.FUNCTION)
HttpRequestMessage<Optional<String>> request,
@TextCompletion(prompt = "{prompt}", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", name = "response", isReasoningModel = false, aiConnectionName = "AzureOpenAI") TextCompletionResponse response,
final ExecutionContext context) {
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(response.getContent())
.build();
}
В этом примере демонстрируется шаблон шаблонов , где функция триггера HTTP принимает name параметр и внедряет его в текстовый запрос, который затем отправляется в API завершения Azure OpenAI расширением. Ответ на запрос возвращается в ответе HTTP.
const { app, input } = require("@azure/functions");
// This OpenAI completion input requires a {name} binding value.
const openAICompletionInput = input.generic({
prompt: 'Who is {name}?',
maxTokens: '100',
type: 'textCompletion',
chatModel: '%CHAT_MODEL_DEPLOYMENT_NAME%',
aiConnectionName: 'AzureOpenAI'
})
app.http('whois', {
methods: ['GET'],
route: 'whois/{name}',
authLevel: 'function',
extraInputs: [openAICompletionInput],
handler: async (_request, context) => {
var response = context.extraInputs.get(openAICompletionInput)
return { body: response.content.trim() }
}
});
В этом примере демонстрируется шаблон шаблонов , где функция триггера HTTP принимает name параметр и внедряет его в текстовый запрос, который затем отправляется в API завершения Azure OpenAI расширением. Ответ на запрос возвращается в ответе HTTP.
import { app, input } from "@azure/functions";
// This OpenAI completion input requires a {name} binding value.
const openAICompletionInput = input.generic({
prompt: 'Who is {name}?',
maxTokens: '100',
type: 'textCompletion',
chatModel: '%CHAT_MODEL_DEPLOYMENT_NAME%',
aiConnectionName: 'AzureOpenAI'
})
app.http('whois', {
methods: ['GET'],
route: 'whois/{name}',
authLevel: 'function',
extraInputs: [openAICompletionInput],
handler: async (_request, context) => {
var response: any = context.extraInputs.get(openAICompletionInput)
return { body: response.content.trim() }
}
});
В этом примере демонстрируется шаблон шаблонов , где функция триггера HTTP принимает name параметр и внедряет его в текстовый запрос, который затем отправляется в API завершения Azure OpenAI расширением. Ответ на запрос возвращается в ответе HTTP.
Ниже приведен файл function.json для TextCompletionResponse:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"route": "whois/{name}",
"methods": [
"get"
]
},
{
"type": "http",
"direction": "out",
"name": "Response"
},
{
"type": "textCompletion",
"direction": "in",
"name": "TextCompletionResponse",
"prompt": "Who is {name}?",
"maxTokens": "100",
"chatModel": "%CHAT_MODEL_DEPLOYMENT_NAME%",
"aiConnectionName": "AzureOpenAI"
}
]
}
Дополнительные сведения о свойствах файла function.json см. в разделе "Конфигурация ".
Код просто возвращает текст из API завершения в качестве ответа:
using namespace System.Net
param($Request, $TriggerMetadata, $TextCompletionResponse)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $TextCompletionResponse.Content
})
В этом примере демонстрируется шаблон шаблонов , где функция триггера HTTP принимает name параметр и внедряет его в текстовый запрос, который затем отправляется в API завершения Azure OpenAI расширением. Ответ на запрос возвращается в ответе HTTP.
@app.route(route="whois/{name}", methods=["GET"])
@app.text_completion_input(
arg_name="response",
prompt="Who is {name}?",
max_tokens="100",
chat_model="%CHAT_MODEL_DEPLOYMENT_NAME%",
ai_connection_name="AzureOpenAI",
)
def whois(req: func.HttpRequest, response: str) -> func.HttpResponse:
response_json = json.loads(response)
return func.HttpResponse(response_json["content"], status_code=200)
Этот пример принимает запрос в качестве входных данных, отправляет его непосредственно в API завершения и возвращает ответ в качестве выходных данных.
@app.route(route="genericcompletion", methods=["POST"])
@app.text_completion_input(
arg_name="response",
prompt="{Prompt}",
chat_model="%CHAT_MODEL_DEPLOYMENT_NAME%",
ai_connection_name="AzureOpenAI",
)
def genericcompletion(
req: func.HttpRequest,
response: str
) -> func.HttpResponse:
response_json = json.loads(response)
return func.HttpResponse(response_json["content"], status_code=200)
Атрибуты
Конкретный атрибут, применяемый для определения входной привязки завершения текста, зависит от режима процесса C#.
В изолированной рабочей модели применяется TextCompletionInput для определения входной привязки ввода текста.
Атрибут поддерживает следующие параметры:
| Параметр | Описание |
|---|---|
| Подсказка | Возвращает или задает запрос на создание завершений, закодированных в виде строки. |
| AIConnectionName | Необязательно. Возвращает или задает имя раздела конфигурации для параметров подключения службы ИИ. Для Azure OpenAI: если указано, найдите значения Endpoint и Key в этом разделе конфигурации. Если этот раздел не указан или раздел не существует, возвращается к переменным среды: AZURE_OPENAI_ENDPOINT и AZURE_OPENAI_KEY. Для проверки подлинности управляемого удостоверения, назначаемого пользователем, это свойство необходимо. Для службы OpenAI (не Azure) задайте переменную среды OPENAI_API_KEY. |
| ChatModel |
Необязательно. Возвращает или задает идентификатор модели, используемой в качестве строки, со значением gpt-3.5-turboпо умолчанию. |
| Температура |
Необязательно. Возвращает или задает используемую температуру выборки в виде строки между 0 и 2. Более высокие значения (0.8) делают выходные данные более случайными, а более низкие значения, например (0.2), делают выходные данные более ориентированными и детерминированными. Следует использовать либо Temperature или TopP, но не оба. |
| TopP |
Необязательно. Возвращает или задает альтернативу выборке с температурой, называемой выборкой ядра в виде строки. В этом методе выборки модель рассматривает результаты маркеров с top_p массой вероятности. Таким образом 0.1 , считаются только маркеры, состоящие из 10 лучших% массы вероятностей. Следует использовать либо Temperature или TopP, но не оба. |
| MaxTokens |
Необязательно. Возвращает или задает максимальное количество маркеров для создания в завершении в виде строки со значением по умолчанию 100. Количество маркеров запроса плюс max_tokens не может превышать длину контекста модели. Большинство моделей имеют длину контекста 2048 токенов (за исключением новейших моделей, которые поддерживают 4096). |
| IsReasoningModel |
Необязательно. Возвращает или задает значение, указывающее, является ли модель завершения чата моделью причин. Этот параметр является экспериментальным и связан с моделью причин, пока все модели не имеют четности в ожидаемых свойствах с значением falseпо умолчанию. |
Аннотации
Заметка TextCompletion позволяет определить входную привязку завершения текста, которая поддерживает следующие параметры:
| Элемент | Описание |
|---|---|
| имя | Возвращает или задает имя входной привязки. |
| подсказка | Возвращает или задает запрос на создание завершений, закодированных в виде строки. |
| aiConnectionName | Необязательно. Возвращает или задает имя раздела конфигурации для параметров подключения службы ИИ. Для Azure OpenAI: если указано, найдите значения Endpoint и Key в этом разделе конфигурации. Если этот раздел не указан или раздел не существует, возвращается к переменным среды: AZURE_OPENAI_ENDPOINT и AZURE_OPENAI_KEY. Для проверки подлинности управляемого удостоверения, назначаемого пользователем, это свойство необходимо. Для службы OpenAI (не Azure) задайте переменную среды OPENAI_API_KEY. |
| chatModel | Возвращает или задает идентификатор модели, используемой в качестве строки, со значением gpt-3.5-turboпо умолчанию. |
| температура |
Необязательно. Возвращает или задает используемую температуру выборки в виде строки между 0 и 2. Более высокие значения (0.8) делают выходные данные более случайными, а более низкие значения, например (0.2), делают выходные данные более ориентированными и детерминированными. Следует использовать либо Temperature или TopP, но не оба. |
| topP |
Необязательно. Возвращает или задает альтернативу выборке с температурой, называемой выборкой ядра в виде строки. В этом методе выборки модель рассматривает результаты маркеров с top_p массой вероятности. Таким образом 0.1 , считаются только маркеры, состоящие из 10 лучших% массы вероятностей. Следует использовать либо Temperature или TopP, но не оба. |
| maxTokens |
Необязательно. Возвращает или задает максимальное количество маркеров для создания в завершении в виде строки со значением по умолчанию 100. Количество маркеров запроса плюс max_tokens не может превышать длину контекста модели. Большинство моделей имеют длину контекста 2048 токенов (за исключением новейших моделей, которые поддерживают 4096). |
| isReasoningModel |
Необязательно. Возвращает или задает значение, указывающее, является ли модель завершения чата моделью причин. Этот параметр является экспериментальным и связан с моделью причин, пока все модели не имеют четности в ожидаемых свойствах с значением falseпо умолчанию. |
Декораторы
Во время предварительной версии определите входную привязку как привязку generic_input_binding типа textCompletion, которая поддерживает следующие параметры:
| Параметр | Описание |
|---|---|
| arg_name | Имя переменной, представляющей параметр привязки. |
| подсказка | Возвращает или задает запрос на создание завершений, закодированных в виде строки. |
| ai_connection_name | Необязательно. Возвращает или задает имя раздела конфигурации для параметров подключения службы ИИ. Для Azure OpenAI: если указано, найдите значения Endpoint и Key в этом разделе конфигурации. Если этот раздел не указан или раздел не существует, возвращается к переменным среды: AZURE_OPENAI_ENDPOINT и AZURE_OPENAI_KEY. Для проверки подлинности управляемого удостоверения, назначаемого пользователем, это свойство необходимо. Для службы OpenAI (не Azure) задайте переменную среды OPENAI_API_KEY. |
| chat_model | Возвращает или задает идентификатор модели, используемой в качестве строки, со значением gpt-3.5-turboпо умолчанию. |
| температура |
Необязательно. Возвращает или задает используемую температуру выборки в виде строки между 0 и 2. Более высокие значения (0.8) делают выходные данные более случайными, а более низкие значения, например (0.2), делают выходные данные более ориентированными и детерминированными. Следует использовать либо Temperature или TopP, но не оба. |
| top_p |
Необязательно. Возвращает или задает альтернативу выборке с температурой, называемой выборкой ядра в виде строки. В этом методе выборки модель рассматривает результаты маркеров с top_p массой вероятности. Таким образом 0.1 , считаются только маркеры, состоящие из 10 лучших% массы вероятностей. Следует использовать либо Temperature или TopP, но не оба. |
| max_tokens |
Необязательно. Возвращает или задает максимальное количество маркеров для создания в завершении в виде строки со значением по умолчанию 100. Количество маркеров запроса плюс max_tokens не может превышать длину контекста модели. Большинство моделей имеют длину контекста 2048 токенов (за исключением новейших моделей, которые поддерживают 4096). |
| is_reasoning _model |
Необязательно. Возвращает или задает значение, указывающее, является ли модель завершения чата моделью причин. Этот параметр является экспериментальным и связан с моделью причин, пока все модели не имеют четности в ожидаемых свойствах с значением falseпо умолчанию. |
Конфигурация
Привязка поддерживает эти свойства конфигурации, заданные в файле function.json.
| Недвижимость | Описание |
|---|---|
| тип | Этот параметр должен содержать значение textCompletion. |
| направление | Этот параметр должен содержать значение in. |
| имя | Имя входной привязки. |
| подсказка | Возвращает или задает запрос на создание завершений, закодированных в виде строки. |
| aiConnectionName | Необязательно. Возвращает или задает имя раздела конфигурации для параметров подключения службы ИИ. Для Azure OpenAI: если указано, найдите значения Endpoint и Key в этом разделе конфигурации. Если этот раздел не указан или раздел не существует, возвращается к переменным среды: AZURE_OPENAI_ENDPOINT и AZURE_OPENAI_KEY. Для проверки подлинности управляемого удостоверения, назначаемого пользователем, это свойство необходимо. Для службы OpenAI (не Azure) задайте переменную среды OPENAI_API_KEY. |
| chatModel | Возвращает или задает идентификатор модели, используемой в качестве строки, со значением gpt-3.5-turboпо умолчанию. |
| температура |
Необязательно. Возвращает или задает используемую температуру выборки в виде строки между 0 и 2. Более высокие значения (0.8) делают выходные данные более случайными, а более низкие значения, например (0.2), делают выходные данные более ориентированными и детерминированными. Следует использовать либо Temperature или TopP, но не оба. |
| topP |
Необязательно. Возвращает или задает альтернативу выборке с температурой, называемой выборкой ядра в виде строки. В этом методе выборки модель рассматривает результаты маркеров с top_p массой вероятности. Таким образом 0.1 , считаются только маркеры, состоящие из 10 лучших% массы вероятностей. Следует использовать либо Temperature или TopP, но не оба. |
| maxTokens |
Необязательно. Возвращает или задает максимальное количество маркеров для создания в завершении в виде строки со значением по умолчанию 100. Количество маркеров запроса плюс max_tokens не может превышать длину контекста модели. Большинство моделей имеют длину контекста 2048 токенов (за исключением новейших моделей, которые поддерживают 4096). |
| isReasoningModel |
Необязательно. Возвращает или задает значение, указывающее, является ли модель завершения чата моделью причин. Этот параметр является экспериментальным и связан с моделью причин, пока все модели не имеют четности в ожидаемых свойствах с значением falseпо умолчанию. |
Конфигурация
Привязка поддерживает эти свойства, определенные в коде:
| Недвижимость | Описание |
|---|---|
| подсказка | Возвращает или задает запрос на создание завершений, закодированных в виде строки. |
| aiConnectionName | Необязательно. Возвращает или задает имя раздела конфигурации для параметров подключения службы ИИ. Для Azure OpenAI: если указано, найдите значения Endpoint и Key в этом разделе конфигурации. Если этот раздел не указан или раздел не существует, возвращается к переменным среды: AZURE_OPENAI_ENDPOINT и AZURE_OPENAI_KEY. Для проверки подлинности управляемого удостоверения, назначаемого пользователем, это свойство необходимо. Для службы OpenAI (не Azure) задайте переменную среды OPENAI_API_KEY. |
| chatModel | Возвращает или задает идентификатор модели, используемой в качестве строки, со значением gpt-3.5-turboпо умолчанию. |
| температура |
Необязательно. Возвращает или задает используемую температуру выборки в виде строки между 0 и 2. Более высокие значения (0.8) делают выходные данные более случайными, а более низкие значения, например (0.2), делают выходные данные более ориентированными и детерминированными. Следует использовать либо Temperature или TopP, но не оба. |
| topP |
Необязательно. Возвращает или задает альтернативу выборке с температурой, называемой выборкой ядра в виде строки. В этом методе выборки модель рассматривает результаты маркеров с top_p массой вероятности. Таким образом 0.1 , считаются только маркеры, состоящие из 10 лучших% массы вероятностей. Следует использовать либо Temperature или TopP, но не оба. |
| maxTokens |
Необязательно. Возвращает или задает максимальное количество маркеров для создания в завершении в виде строки со значением по умолчанию 100. Количество маркеров запроса плюс max_tokens не может превышать длину контекста модели. Большинство моделей имеют длину контекста 2048 токенов (за исключением новейших моделей, которые поддерживают 4096). |
| isReasoningModel |
Необязательно. Возвращает или задает значение, указывающее, является ли модель завершения чата моделью причин. Этот параметр является экспериментальным и связан с моделью причин, пока все модели не имеют четности в ожидаемых свойствах с значением falseпо умолчанию. |
Использование
Подробные примеры см. в разделе Примеры.
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 |
Определяет способ получения маркера access для подключения. Используется 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 . Дополнительные сведения см. в статье "Локальная разработка с использованием подключений на основе удостоверений".
Дополнительные сведения см. в разделе Работа с параметрами приложения.