Enlace de entrada de consulta del asistente de Azure OpenAI para Azure Functions
Importante
La extensión de Azure OpenAI para Azure Functions está actualmente en versión preliminar.
El enlace de entrada de consulta del asistente de Azure OpenAI permite integrar consultas de API de Assistants en las ejecuciones de código.
Para obtener información sobre la configuración y los detalles de configuración de la extensión de Azure OpenAI, consulte Extensiones de Azure OpenAI para Azure Functions. Para más información sobre los asistentes de Azure OpenAI, consulte API Azure OpenAI Assistants.
Nota:
Las referencias y ejemplos solo se proporcionan para el modelo de Node.js v4.
Nota:
Las referencias y ejemplos solo se proporcionan para el modelo de Python v2.
Nota:
Aunque se admiten ambos modelos de proceso de C#, solo se proporcionan ejemplos de modelos de trabajo aislados.
Ejemplo
En este ejemplo se muestra el proceso de creación, donde la función HTTP GET que consulta el historial de conversaciones del bot de chat del asistente. La respuesta a la solicitud se devuelve en la respuesta 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);
}
}
En este ejemplo se muestra el proceso de creación, donde la función HTTP GET que consulta el historial de conversaciones del bot de chat del asistente. La respuesta a la solicitud se devuelve en la respuesta 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();
}
Los ejemplos aún no están disponibles.
En este ejemplo se muestra el proceso de creación, donde la función HTTP GET que consulta el historial de conversaciones del bot de chat del asistente. La respuesta a la solicitud se devuelve en la respuesta 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'],
En este ejemplo se muestra el proceso de creación, donde la función HTTP GET que consulta el historial de conversaciones del bot de chat del asistente. La respuesta a la solicitud se devuelve en la respuesta HTTP.
Este es el archivo function.json para Obtener estado de chat:
{
"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"
}
]
}
Para obtener más información sobre las propiedades del archivo function.json, consulte la sección de Configuración.
using namespace System.Net
param($Request, $TriggerMetadata, $State)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $State
Headers = @{
"Content-Type" = "application/json"
}
})
En este ejemplo se muestra el proceso de creación, donde la función HTTP GET que consulta el historial de conversaciones del bot de chat del asistente. La respuesta a la solicitud se devuelve en la respuesta HTTP.
recent_message_content = data['recentMessages'][0]['content']
return func.HttpResponse(recent_message_content, status_code=200, mimetype="text/plain")
@apis.function_name("GetChatState")
Atributos
Aplique el atributo AssistantQuery
para definir un enlace de entrada de consulta del asistente, que admite estos parámetros:
Parámetro | Descripción |
---|---|
Id | Obtiene el identificador del asistente que se va a consultar. |
TimeStampUtc | Opcional. Obtiene o establece la marca de tiempo del mensaje más antiguo del historial de chat que se va a capturar. La marca de tiempo debe estar en formato ISO 8601; por ejemplo, 2023-08-01T00:00:00Z. |
anotaciones
La anotación assistantQuery
permite definir un enlace de entrada de consulta del asistente, que admite estos parámetros:
Elemento | Descripción |
---|---|
name | Obtiene o establece el nombre del enlace de entrada. |
id | Obtiene el identificador del asistente que se va a consultar. |
timeStampUtc | Opcional. Obtiene o establece la marca de tiempo del mensaje más antiguo del historial de chat que se va a capturar. La marca de tiempo debe estar en formato ISO 8601; por ejemplo, 2023-08-01T00:00:00Z. |
Elementos Decorator
Durante la versión preliminar, defina el enlace de entrada como un enlace generic_input_binding
de tipo assistantQuery
, que admite estos parámetros:
Parámetro | Descripción |
---|---|
arg_name | Nombre de la variable que representa el parámetro de enlace. |
id | Obtiene el identificador del asistente que se va a consultar. |
time_stamp_utc | Opcional. Obtiene o establece la marca de tiempo del mensaje más antiguo del historial de chat que se va a capturar. La marca de tiempo debe estar en formato ISO 8601; por ejemplo, 2023-08-01T00:00:00Z. |
Configuración
El enlace admite estas propiedades de configuración que se establecen en el archivo function.json.
Propiedad | Descripción |
---|---|
type | Debe ser assistantQuery . |
direction | Debe ser in . |
name | Nombre del enlace de entrada. |
id | Obtiene el identificador del asistente que se va a consultar. |
timeStampUtc | Opcional. Obtiene o establece la marca de tiempo del mensaje más antiguo del historial de chat que se va a capturar. La marca de tiempo debe estar en formato ISO 8601; por ejemplo, 2023-08-01T00:00:00Z. |
Configuración
El enlace admite estas propiedades, que se definen en el código:
Propiedad | Descripción |
---|---|
id | Obtiene el identificador del asistente que se va a consultar. |
timeStampUtc | Opcional. Obtiene o establece la marca de tiempo del mensaje más antiguo del historial de chat que se va a capturar. La marca de tiempo debe estar en formato ISO 8601; por ejemplo, 2023-08-01T00:00:00Z. |
Uso
Consulte la sección de ejemplos para ver ejemplos completos.