Входная привязка запросов Помощника по Azure OpenAI для Функции Azure
Внимание
Расширение Azure OpenAI для Функции Azure в настоящее время находится в предварительной версии.
Входная привязка запросов Помощника по Azure OpenAI позволяет интегрировать запросы API Помощников в выполнение кода.
Сведения о настройке и настройке расширения Azure OpenAI см. в Функции Azure расширения Azure OpenAI. Дополнительные сведения о помощниках По Azure OpenAI см. в api Azure OpenAI Assistants.
Примечание.
Ссылки и примеры предоставляются только для модели Node.js версии 4.
Примечание.
Ссылки и примеры предоставляются только для модели Python версии 2.
Примечание.
Хотя поддерживаются обе модели процессов C#, предоставляются только примеры изолированных рабочих моделей .
Пример
В этом примере демонстрируется процесс создания, в котором функция HTTP GET, которая запрашивает журнал бесед помощника чат-бота. Ответ на запрос возвращается в ответе HTTP.
public static async Task<IActionResult> GetChatState(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "assistants/{assistantId}")] HttpRequestData req,
string assistantId,
[AssistantQueryInput("{assistantId}", TimestampUtc = "{Query.timestampUTC}", ChatStorageConnectionSetting = DefaultChatStorageConnectionSetting, CollectionName = DefaultCollectionName)] AssistantState state)
{
return new OkObjectResult(state);
}
}
В этом примере демонстрируется процесс создания, в котором функция HTTP GET, которая запрашивает журнал бесед помощника чат-бота. Ответ на запрос возвращается в ответе HTTP.
"Ask for clarification if a user request is ambiguous.";
AssistantCreateRequest assistantCreateRequest = new AssistantCreateRequest(assistantId, instructions);
assistantCreateRequest.setChatStorageConnectionSetting(DEFAULT_CHATSTORAGE);
assistantCreateRequest.setCollectionName(DEFAULT_COLLECTION);
message.setValue(assistantCreateRequest);
JSONObject response = new JSONObject();
response.put("assistantId", assistantId);
return request.createResponseBuilder(HttpStatus.CREATED)
.header("Content-Type", "application/json")
.body(response.toString())
.build();
}
Примеры пока недоступны.
В этом примере демонстрируется процесс создания, в котором функция HTTP GET, которая запрашивает журнал бесед помощника чат-бота. Ответ на запрос возвращается в ответе HTTP.
}
};
}
})
const chatBotQueryInput = input.generic({
type: 'assistantQuery',
id: '{assistantId}',
timestampUtc: '{Query.timestampUTC}',
chatStorageConnectionSetting: CHAT_STORAGE_CONNECTION_SETTING,
collectionName: COLLECTION_NAME
})
app.http('GetChatState', {
methods: ['GET'],
В этом примере демонстрируется процесс создания, в котором функция HTTP GET, которая запрашивает журнал бесед помощника чат-бота. Ответ на запрос возвращается в ответе HTTP.
Ниже приведен файл function.json для получения состояния чата:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"route": "assistants/{assistantId}",
"methods": [
"get"
]
},
{
"type": "http",
"direction": "out",
"name": "Response"
},
{
"name": "State",
"type": "assistantQuery",
"direction": "in",
"dataType": "string",
"id": "{assistantId}",
"timestampUtc": "{Query.timestampUTC}",
"chatStorageConnectionSetting": "AzureWebJobsStorage",
"collectionName": "ChatState"
}
]
}
Дополнительные сведения о свойствах файла function.json см. в разделе "Конфигурация ".
using namespace System.Net
param($Request, $TriggerMetadata, $State)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $State
Headers = @{
"Content-Type" = "application/json"
}
})
В этом примере демонстрируется процесс создания, в котором функция HTTP GET, которая запрашивает журнал бесед помощника чат-бота. Ответ на запрос возвращается в ответе HTTP.
recent_message_content = data['recentMessages'][0]['content']
return func.HttpResponse(recent_message_content, status_code=200, mimetype="text/plain")
@apis.function_name("GetChatState")
Атрибуты
Примените атрибут для определения входной привязки помощника к запросу AssistantQuery
, которая поддерживает следующие параметры:
Параметр | Описание |
---|---|
Id | Возвращает идентификатор помощника для запроса. |
TimeStampUtc | Необязательно. Возвращает или задает метку времени самого раннего сообщения в журнале чата для получения. Метка времени должна быть в формате ISO 8601 , например 2023-08-01T00:00:00Z. |
Заметки
Заметка assistantQuery
позволяет определить входную привязку помощника к запросу, которая поддерживает следующие параметры:
Элемент | Description |
---|---|
name | Возвращает или задает имя входной привязки. |
id | Возвращает идентификатор помощника для запроса. |
timeStampUtc | Необязательно. Возвращает или задает метку времени самого раннего сообщения в журнале чата для получения. Метка времени должна быть в формате ISO 8601 , например 2023-08-01T00:00:00Z. |
Декораторы
Во время предварительной версии определите входную привязку как привязку generic_input_binding
типа assistantQuery
, которая поддерживает следующие параметры:
Параметр | Описание |
---|---|
arg_name | Имя переменной, представляющей параметр привязки. |
id | Возвращает идентификатор помощника для запроса. |
time_stamp_utc | Необязательно. Возвращает или задает метку времени самого раннего сообщения в журнале чата для получения. Метка времени должна быть в формате ISO 8601 , например 2023-08-01T00:00:00Z. |
Настройка
Привязка поддерживает эти свойства конфигурации, заданные в файле function.json.
Свойство | Описание |
---|---|
type | Этот параметр должен содержать значение assistantQuery . |
direction | Этот параметр должен содержать значение in . |
name | Имя входной привязки. |
id | Возвращает идентификатор помощника для запроса. |
timeStampUtc | Необязательно. Возвращает или задает метку времени самого раннего сообщения в журнале чата для получения. Метка времени должна быть в формате ISO 8601 , например 2023-08-01T00:00:00Z. |
Настройка
Привязка поддерживает эти свойства, определенные в коде:
Свойство | Description |
---|---|
id | Возвращает идентификатор помощника для запроса. |
timeStampUtc | Необязательно. Возвращает или задает метку времени самого раннего сообщения в журнале чата для получения. Метка времени должна быть в формате ISO 8601 , например 2023-08-01T00:00:00Z. |
Использование
Подробные примеры см. в разделе Примеры.