Recomendaciones

En esta página, se incluyen recomendaciones para trabajar con la API de Dialogflow. Estos lineamientos están diseñados para lograr mayor eficiencia y exactitud, además de tiempos de respuesta razonables de la API.

Diseño de agentes

El diseño del agente puede tener un efecto importante en la calidad y el rendimiento de su agente. Consulte la guía Diseño de agentes para obtener información sobre las recomendaciones.

Alcance del cliente de sesión

Puedes mejorar el rendimiento de tu código mediante la creación de un cliente de sesión con alcance para varias solicitudes.

Las solicitudes a la API deben incluir un token que otorgue acceso a la API y que identifique tu proyecto y cuenta de Google Cloud Platform. Cuando creas un objeto de cliente de sesión con las bibliotecas cliente, estas obtienen un token de acceso según las credenciales que proporcionaste o las credenciales predeterminadas de la aplicación. El procesamiento adicional para obtener el token de acceso puede disminuir la velocidad de tu solicitud a la API en uno o dos segundos.

Si deseas mejorar el rendimiento, puedes usar una instancia única de un objeto de cliente de sesión para varias solicitudes. El cliente de sesión reutiliza el mismo token de acceso mientras sea válido (por lo general, una hora). Una vez que vence, el cliente de sesión actualiza el token de acceso automáticamente, por lo que no es necesario que vuelvas a crear el cliente de sesión para actualizar el token de acceso. Tu solicitud que también actualiza el token de acceso puede tardar uno o dos segundos adicionales.

Si bien este enfoque tendrá un mejor rendimiento, tu código será menos portátil, ya que no podrás incluir el código para crear el cliente de sesión en una sola llamada al método, que se pueda copiar a otro proyecto con facilidad.

Por ejemplo, el siguiente código de biblioteca cliente de Node.js tendrá un mejor rendimiento si el mismo cliente de sesión se usa para varias llamadas al método detectTextIntent:

// Import the Dialogflow library
const dialogflow = require('dialogflow');

// Instantiate a session client
const sessionClient = new dialogflow.SessionsClient();

function detectTextIntent(projectId, sessionId, queries, languageCode) {
  if (!queries || !queries.length) {
    return;
  }

  // The path to identify the agent that owns the created intent.
  const sessionPath = sessionClient.sessionPath(projectId, sessionId);

  ...

De manera alternativa, el siguiente código de biblioteca cliente de Node.js sería más portátil, ya que incluye la creación del cliente de sesión en el método detectTextIntent:

function detectTextIntent(projectId, sessionId, queries, languageCode) {
  // Import the Dialogflow library
  const dialogflow = require('dialogflow');

  // Instantiate a session client
  const sessionClient = new dialogflow.SessionsClient();

  if (!queries || !queries.length) {
    return;
  }

  // The path to identify the agent that owns the created intent.
  const sessionPath = sessionClient.sessionPath(projectId, sessionId);

  ...

Para obtener más información sobre el acceso a la API mediante las bibliotecas cliente, consulta Bibliotecas cliente.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Dialogflow
¿Necesitas ayuda? Visita nuestra página de asistencia.