Integra el Asistente a tu proyecto (otros lenguajes)

Sigue las instrucciones que se indican en cada sección a continuación para integrar el Asistente de Google en tu proyecto.

Vinculaciones de gRPC

El servicio del Asistente de Google se basa en gRPC, una alta de RPC de código abierto y rendimiento. Este marco es adecuado para transmisión de audio bidireccional.

Python

Si usas Python, comienza con esta guía.

C++

Consulta nuestra muestra de C++. en GitHub.

Node.js

Consulta nuestra muestra de Node.js. en GitHub.

Android Things

¿Te interesan los dispositivos incorporados? Descubre el SDK de Asistente sample para Android Things.

Otros idiomas

Autoriza y autentica tu Cuenta de Google para trabajar con el Asistente

El próximo paso es autorizar tu dispositivo para que se comunique con Asistente de Google usando tu Cuenta de Google.

Cómo obtener tokens de OAuth con el permiso del SDK de Assistant

El SDK de Assistant usa tokens de acceso de OAuth 2.0 para autorizar a tu dispositivo a hacer lo siguiente: a conectarse con Asistente.

Durante el prototipado, puedes usar la herramienta de autorización para generar OAuth2.0 con facilidad las credenciales del archivo client_secret_<client-id>.json que se generan cuando registrando el modelo de tu dispositivo.

Haz lo siguiente para generar las credenciales:

  1. Usa un entorno virtual de Python para aislar la herramienta de autorización y sus dependencias de los paquetes de Python del sistema.

    sudo apt-get update
    sudo apt-get install python3-dev python3-venv # Use python3.4-venv if the package cannot be found.
    python3 -m venv env
    env/bin/python -m pip install --upgrade pip setuptools wheel
    source env/bin/activate
    
  2. Instala la herramienta de autorización:

    python -m pip install --upgrade google-auth-oauthlib[tool]
  3. Ejecuta la herramienta. Quita la marca --headless si lo ejecutas desde una terminal en el dispositivo (no una sesión SSH):

    google-oauthlib-tool --client-secrets /path/to/client_secret_client-id.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
    

Cuando esté todo listo para integrar la autorización como parte del proceso de tu dispositivo, lee nuestras guías sobre cómo usar OAuth 2.0 para acceder a las APIs de Google cómo obtener, conservar y usar tokens de acceso OAuth para permitir que tus para que se comunique con la API de Assistant.

Cuando trabajes en estas guías, usa lo siguiente:

Consulta las prácticas recomendadas sobre privacidad y seguridad. para obtener recomendaciones sobre cómo proteger tu dispositivo.

Autentica tu conexión gRPC con tokens de OAuth

Por último, consulta cómo usar la autenticación basada en tokens autenticación con Google para autenticar la conexión gRPC con la API de Assistant.

Registra tu dispositivo

Registra el modelo de dispositivo y la instancia de forma manual. o con la herramienta de registro (disponible en Python).

Cómo implementar un diálogo de conversación básico con Asistente

  1. Implementa un cliente gRPC de transmisión bidireccional. para la API de Google Assistant Service.
  2. Espera a que el usuario active una solicitud nueva (p. ej., espera una interrupción de GPIO). al presionar un botón).
  3. Envía un AssistRequest con el campo config configurado (consulta AssistConfig). Asegúrate de que el campo config contenga lo siguiente:

    • El campo audio_in_config, que especifica cómo procesar la Datos de audio_in que se proporcionarán en solicitudes posteriores (consulta AudioInConfig).
    • El campo audio_out_config, que especifica el formato deseado para el que se usará cuando muestre mensajes audio_out (consulta AudioOutConfig).
    • El campo device_config, que identifica la dispositivo registrado con el Asistente (consulta DeviceConfig).
    • El campo dialog_state_in, que contiene el language_code asociada con la solicitud (consulta DialogStateIn).
  4. Inicia la grabación.

  5. Enviar varias AssistRequest salientes con datos de audio de la consulta de voz en el campo audio_in.

  6. Controlar AssistResponse entrantes mensajes nuevos.

  7. Extraer metadatos de conversaciones de AssistResponse mensaje. Por ejemplo, desde dialog_state_out, obtén conversation_state. y volume_percentage (consulta DialogStateOut).

  8. Detener la grabación cuando recibas un AssistResponse con un event_type de END_OF_UTTERANCE.

  9. Reproducir audio de la respuesta de Asistente con datos de audio provenientes de audio_out .

  10. Toma el archivo conversation_state que extrajiste antes y cópialo. a la DialogStateIn en el AssistConfig de las siguientes AssistRequest.

De este modo, ya puedes enviar tus primeras solicitudes a Google a través de tu dispositivo.

Cómo extender el diálogo de conversación con Acciones del dispositivo

Extiende el diálogo básico de la conversación anterior para activar el hardware único capacidades de un dispositivo:

  1. En el AssistResponse entrante mensajes, extrae el campo device_action (consulta DeviceAction).
  2. Analiza la carga útil de JSON del campo device_request_json. Consulta las Device Traits de la una lista de características admitidas. En cada página del esquema de trait, se muestra un ejemplo de EXECUTE solicitud con los comandos del dispositivo y los parámetros que se devuelven en el Carga útil de tipo JSON.

Obtén la transcripción de la solicitud del usuario

Si el dispositivo tiene una pantalla conectada, es posible que quieras usarla para mostrar la solicitud del usuario. Para obtener esta transcripción, analiza el campo speech_results en la AssistResponse mensajes nuevos. Cuando se complete el reconocimiento de voz, esta lista contendrá un elemento con un stability establecido en 1.0.

Obtén el texto o la renderización visual de la respuesta de Asistente

Si el dispositivo tiene una pantalla conectada, es posible que quieras usarla para Mostrar la respuesta de texto sin formato del Asistente a la solicitud del usuario Este texto se encuentra en la DialogStateOut.supplemental_display_text .

El Asistente admite respuestas visuales a través de HTML5 para ciertas consultas (¿Qué es el clima en Mountain View? o ¿Qué hora es?). Para habilitar esta función, configura el campo screen_out_config en AssistConfig. La ScreenOutConfig tiene el campo screen_mode, que debe establecerse en PLAYING.

La AssistResponse los mensajes tendrán configurado el campo screen_out. Puedes extraer los datos HTML5 (si los hay) de la data.

Cómo enviar consultas mediante la entrada de texto

Si tienes una interfaz de texto (por ejemplo, un teclado) conectada al dispositivo, Configura el campo text_query en el campo config (consulta AssistConfig). No configures el campo audio_in_config.

Soluciona problemas

Consulta la sección de solución de problemas. si tienes problemas.