Поделиться через


Входная привязка запросов Помощника по 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.

Использование

Подробные примеры см. в разделе Примеры.