Una tarea de ajuste preciso de Reconocimiento del lenguaje conversacional (CLU) es un proyecto de área de trabajo donde se personaliza un modelo de lenguaje para identificar la intención del usuario y extraer información clave (entidades) de la entrada del usuario (expresiones). En esta área de trabajo, definirá las intenciones y entidades pertinentes para la aplicación, etiqueta las expresiones de usuario de ejemplo en consecuencia y usará estos datos etiquetados para ajustar el modelo. Este proceso adapta el modelo para comprender mejor las necesidades y matices específicos de la aplicación conversacional. En esta guía, le guiaremos a través de la configuración de un área de trabajo de ajuste preciso en Microsoft Foundry o mediante la API REST.
Note
- Si ya tiene un lenguaje de Azure en Foundry Tools o un recurso de varios servicios(ya sea por sí mismo o a través de Language Studio), puede seguir usando esos recursos de lenguaje existentes en el portal de Foundry. Para obtener más información, consulte Uso de las herramientas de Foundry en el portal de Foundry.
- En Foundry, una tarea de ajuste fino sirve como su área de trabajo al personalizar su modelo de CLU. Anteriormente, una tarea de ajuste se denominaba proyecto CLU. Es posible que encuentre ambos términos usados indistintamente en la documentación anterior de CLU.
- Se recomienda encarecidamente usar un recurso de Foundry en Foundry; sin embargo, también puede seguir estas instrucciones mediante un recurso de idioma.
Prerequisites
- Una suscripción de Azure. Si no tiene ninguna, puede crearla gratis.
-
Permisos necesarios. Asegúrese de que a la persona que establece la cuenta y el proyecto se le asigne el rol de propietario de cuenta de Azure AI en el nivel de suscripción. Como alternativa, tener el rol Colaborador o Colaborador de Cognitive Services en el ámbito de la suscripción también cumple este requisito. Para obtener más información, consulteControl de acceso basado en rol (RBAC).
- Un recurso de Foundry. Para obtener más información, consulteConfiguración de un recurso foundry. Como alternativa, puede usar un recurso de lenguaje.
-
Un proyecto de fundición creado en Foundry. Para obtener más información, consulteCrear un proyecto Foundry.
Ajustar un modelo CLU
Para crear un modelo de ajuste preciso de CLU, primero configure el entorno y, a continuación, cree un proyecto de ajuste preciso, que sirve como área de trabajo para personalizar el modelo CLU.
Vaya a Foundry.
Si aún no ha iniciado sesión, el portal le pedirá que lo haga con sus credenciales de Azure.
Una vez que haya iniciado sesión, puede crear o acceder a los proyectos existentes en Foundry.
Si aún no está en el proyecto para esta tarea, selecciónelo.
Seleccione Ajuste fino en el panel de navegación izquierdo.
En la ventana principal, seleccione la pestaña ajuste preciso del servicio de IA y, a continuación, el botón + Ajuste preciso.
Desde la ventana Ajuste fino del servicio, elija la pestaña de Comprensión de lenguaje conversacional y, a continuación, seleccione Siguiente.
En la ventana Crear tarea de ajuste preciso de CLU, complete los campos Nombre e Idioma. Si planea ajustar un modelo mediante el modo de entrenamiento estándar gratuito, seleccione Inglés para el campo de idioma.
Seleccione el botón Crear. La operación de creación puede tardar unos minutos en completarse.
Note
-
El entrenamiento estándar permite tiempos de entrenamiento más rápidos y iteraciones más rápidas; sin embargo, solo está disponible para inglés.
-
El entrenamiento avanzado incluye duraciones de aprendizaje más largas y se admite para inglés, otros idiomas y proyectos multilingües.
- Para obtener más información, consulteModos de entrenamiento.
Una vez completada la creación de la tarea, seleccione la tarea en la ventana De ajuste de la herramienta Foundry para llegar a la página Introducción a la optimización .
Envíe una PATCH solicitud mediante la siguiente dirección URL, encabezados y cuerpo JSON para crear un nuevo proyecto.
URL de la solicitud
Use la siguiente dirección URL al crear la solicitud de API. Reemplace los valores de marcador de posición por sus propios valores.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}?api-version={API-VERSION}
| Placeholder |
Value |
Example |
{ENDPOINT} |
Punto de conexión para autenticar la solicitud de API. |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nombre del proyecto. Este valor distingue mayúsculas de minúsculas. |
myProject |
{API-VERSION} |
Versión de la API a la que se llama. |
2023-04-01 |
Use el siguiente encabezado para autenticar la solicitud.
| Key |
Value |
Ocp-Apim-Subscription-Key |
Clave del recurso. Se usa para autenticar las solicitudes de API. |
Content-Type |
application/merge-patch+json |
Body
Use el siguiente código JSON de ejemplo como cuerpo.
{
"projectName": "{PROJECT-NAME}",
"language": "{LANGUAGE-CODE}",
"projectKind": "Conversation",
"description": "Project description",
"multilingual": true
}
| Key |
Placeholder |
Value |
Example |
projectName |
{PROJECT-NAME} |
Nombre del proyecto. Este valor distingue mayúsculas de minúsculas. |
EmailApp |
language |
{LANGUAGE-CODE} |
Cadena que especifica el código de idioma de las expresiones que se usan en el proyecto. Si el proyecto es un proyecto multilingüe, elija el código de idioma de la mayoría de las expresiones. |
en-us |
multilingual |
true |
Valor booleano que le permite tener documentos en varios idiomas del conjunto de datos. Cuando se implementa el modelo, puede consultar el modelo en cualquier idioma admitido (no necesariamente incluido en los documentos de entrenamiento). Para más información sobre la compatibilidad multilingüe, consulte Compatibilidad con idiomas. |
true |
Eso es todo. Puede empezar a trabajar en el proyecto de tarea de ajuste. Para obtener más información, consultePasos siguientes.
Visualización y administración de los detalles del proyecto
Puede recuperar información actualizada sobre sus proyectos, realizar los cambios necesarios y supervisar eficazmente las tareas de gestión de proyectos a través de los endpoints de la API REST o de Foundry.
La página de información general del proyecto Foundry muestra información sobre su proyecto de tarea de ajuste fino, incluido su nombre, suscripción, grupo de recursos y recursos conectados. También puede acceder a los recursos del proyecto en Azure Portal; para ello, seleccione Administrar en Azure Portal en la página de información general.
En la página Inicio del proyecto, se encuentra información sobre el proyecto en la sección Detalles del proyecto.
Para ver la configuración del proyecto, seleccione Centro de administración en la parte inferior del panel de navegación izquierdo y, a continuación, seleccione una de las pestañas siguientes:
-
Información general para ver los detalles del proyecto.
-
Usuarios para administrar usuarios y roles.
-
Modelos y puntos de conexión para administrar las implementaciones de los modelos y servicios.
-
Recursos conectados para administrar recursos conectados para el proyecto.
Puede acceder, ver y administrar todos los detalles del proyecto a través de la API REST.
Para obtener los detalles del proyecto, envíe una GET solicitud mediante la siguiente dirección URL y encabezados. Reemplace los valores de marcador de posición por sus propios valores.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}?api-version={API-VERSION}
| Placeholder |
Value |
Example |
{ENDPOINT} |
Punto de conexión para autenticar la solicitud de API. |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nombre del proyecto. Este valor distingue mayúsculas de minúsculas. |
myProject |
{API-VERSION} |
La versión de la API a la que estás llamando. |
2023-04-01 |
Use el siguiente encabezado para autenticar la solicitud.
| Key |
Value |
Ocp-Apim-Subscription-Key |
Clave del recurso. Se usa para autenticar las solicitudes de API. |
Cuerpo de respuesta
Después de enviar la solicitud, obtendrá la siguiente respuesta:
{
"createdDateTime": "2022-04-18T13:53:03Z",
"lastModifiedDateTime": "2022-04-18T13:53:03Z",
"lastTrainedDateTime": "2022-04-18T14:14:28Z",
"lastDeployedDateTime": "2022-04-18T14:49:01Z",
"projectKind": "Conversation",
"projectName": "{PROJECT-NAME}",
"multilingual": true,
"description": "This is a sample conversation project.",
"language": "{LANGUAGE-CODE}"
}
Después de enviar la solicitud de API, recibirá una 200 respuesta que indica que se ha realizado correctamente e incluye un cuerpo de respuesta JSON con los detalles del proyecto.
Importación de un proyecto de Foundry existente
La importación del archivo de configuración le permite incorporar la configuración existente directamente a la plataforma, lo que facilita la configuración y personalización del servicio en función de sus preferencias predefinidas.
Para importar un proyecto existente de Foundry Tools utilizando Foundry, debe crear una conexión al recurso de Foundry Tools dentro de su proyecto de Foundry. Para obtener más información, consulteConectar proyectos de Foundry Tools a Foundry
Puede importar el archivo config.json CLU mediante la API REST.
Envíe una POST solicitud mediante la siguiente dirección URL, encabezados y cuerpo JSON para importar el proyecto.
URL de la solicitud
Use la siguiente dirección URL al crear la solicitud de API. Reemplace los valores de marcador de posición por sus propios valores.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:import?api-version={API-VERSION}
| Placeholder |
Value |
Example |
{ENDPOINT} |
Punto de conexión para autenticar la solicitud de API. |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nombre del proyecto. Este valor distingue mayúsculas de minúsculas y debe coincidir con el nombre del proyecto en el archivo JSON que va a importar. |
EmailAppDemo |
{API-VERSION} |
La versión de la API a la que estás llamando. |
2023-04-01 |
Use el siguiente encabezado para autenticar la solicitud.
| Key |
Value |
Ocp-Apim-Subscription-Key |
Clave del recurso. Se usa para autenticar las solicitudes de API. |
Body
El cuerpo JSON que envía es similar al ejemplo siguiente. Para obtener más información sobre el objeto JSON, consulte la documentación de referencia.
{
"projectFileVersion": "{API-VERSION}",
"stringIndexType": "Utf16CodeUnit",
"metadata": {
"projectKind": "Conversation",
"settings": {
"confidenceThreshold": 0.7
},
"projectName": "{PROJECT-NAME}",
"multilingual": true,
"description": "Trying out CLU",
"language": "{LANGUAGE-CODE}"
},
"assets": {
"projectKind": "Conversation",
"intents": [
{
"category": "intent1"
},
{
"category": "intent2"
}
],
"entities": [
{
"category": "entity1"
}
],
"utterances": [
{
"text": "text1",
"dataset": "{DATASET}",
"intent": "intent1",
"entities": [
{
"category": "entity1",
"offset": 5,
"length": 5
}
]
},
{
"text": "text2",
"language": "{LANGUAGE-CODE}",
"dataset": "{DATASET}",
"intent": "intent2",
"entities": []
}
]
}
}
| Key |
Placeholder |
Value |
Example |
{API-VERSION} |
La versión de la API a la que estás llamando. |
2023-04-01 |
|
projectName |
{PROJECT-NAME} |
Nombre del proyecto. Este valor distingue mayúsculas de minúsculas. |
EmailAppDemo |
language |
{LANGUAGE-CODE} |
Cadena que especifica el código de idioma de las expresiones que se usan en el proyecto. Si el proyecto es un proyecto multilingüe, elija el código de idioma de la mayoría de las expresiones. |
en-us |
multilingual |
true |
Valor booleano que le permite tener documentos en varios idiomas del conjunto de datos. Cuando se implementa el modelo, puede consultar el modelo en cualquier idioma admitido, incluidos los idiomas que no se incluyen en los documentos de entrenamiento. |
true |
dataset |
{DATASET} |
Para obtener información sobre cómo dividir los datos entre un conjunto de pruebas y entrenamiento, consulte Etiquetar las expresiones en Foundry. Los valores posibles que admite este campo son Train y Test. |
Train |
Después de una solicitud correcta, la respuesta de la API contiene un operation-location encabezado con una dirección URL que puede usar para comprobar el estado del trabajo de importación. El encabezado tiene el formato de este ejemplo:
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Exportación de un proyecto de ajuste fino
La exportación del archivo de configuración le permite guardar el estado actual de la configuración y la estructura del proyecto, lo que facilita la copia de seguridad o transferencia del proyecto según sea necesario.
Puede descargar un proyecto de tarea de ajuste fino de Microsoft Foundry como un archivo config.json :
Vaya a la página principal del proyecto.
En la parte superior de la página, seleccione su proyecto en la parte derecha de la cinta de opciones de la página.
Seleccione Descargar archivo de configuración.
Puede exportar un proyecto CLU como un archivo config.json.
Cree una POST solicitud mediante la siguiente dirección URL, encabezados y cuerpo JSON para exportar el proyecto.
URL de la solicitud
Use la siguiente dirección URL al crear la solicitud de API. Reemplace los valores de marcador de posición por sus propios valores.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:export?stringIndexType=Utf16CodeUnit&api-version={API-VERSION}
| Placeholder |
Value |
Example |
{ENDPOINT} |
Punto de conexión para autenticar la solicitud de API. |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nombre del proyecto. Este valor distingue mayúsculas de minúsculas. |
EmailApp |
{API-VERSION} |
La versión de la API a la que estás llamando. |
2023-04-01 |
Use el siguiente encabezado para autenticar la solicitud.
| Key |
Value |
Ocp-Apim-Subscription-Key |
Clave del recurso. Se usa para autenticar las solicitudes de API. |
Después de enviar la solicitud de API, recibirá una 202 respuesta que indica que se ha realizado correctamente. En los encabezados de respuesta, extraiga el valor operation-location. El valor tiene el formato de este ejemplo:
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
JOB-ID se usa para identificar la solicitud porque esta operación es asincrónica. Use esta dirección URL para obtener el JSON del proyecto exportado mediante el mismo método de autenticación.
Eliminación de un proyecto
La eliminación de un proyecto garantiza que este y todos sus datos asociados se eliminen permanentemente del sistema.
Si ya no necesita el proyecto, puede eliminarlo de Foundry.
Vaya a la página principal de Foundry . Inicie el proceso de autenticación iniciando sesión, a menos que ya haya completado este paso y la sesión esté activa.
Seleccione el proyecto que desea eliminar de Keep building with Foundry.
Seleccione Centro de administración.
Seleccione Eliminar proyecto.
Para eliminar el centro junto con todos sus proyectos:
Vaya a la pestaña Información general de la sección Hub.
A la derecha, seleccione Eliminar hub.
El enlace abre el portal de Azure para que elimines el centro.
Si el proyecto ya no es necesario, puede eliminarlo mediante la API REST. Para continuar, acceda a la API REST y siga los pasos documentados para la eliminación del proyecto para completar esta acción.
Cree una DELETE solicitud mediante la siguiente dirección URL, encabezados y cuerpo JSON para eliminar un proyecto de reconocimiento del lenguaje conversacional.
URL de la solicitud
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}?api-version={API-VERSION}
| Placeholder |
Value |
Example |
{ENDPOINT} |
Punto de conexión para autenticar la solicitud de API. |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nombre del proyecto. Este valor distingue mayúsculas de minúsculas. |
myProject |
{API-VERSION} |
La versión de la API a la que estás llamando. |
2023-04-01 |
Use el siguiente encabezado para autenticar la solicitud.
| Key |
Value |
Ocp-Apim-Subscription-Key |
Clave del recurso. Se usa para autenticar las solicitudes de API. |
Después de enviar la solicitud de API, recibirá una 202 respuesta que indica que se ha realizado correctamente, lo que significa que se eliminó el proyecto.
Pasos siguientes
Después de crear el área de trabajo de ajuste, inicie la tarea de ajuste preciso definiendo sus intenciones y entidades y agregándolas al esquema: