Integra l'assistente nel tuo progetto (altre lingue)

Segui le istruzioni in ogni sezione di seguito per integrare l'Assistente Google nel tuo progetto.

Associazioni gRPC

Il servizio dell'Assistente Google si basa su gRPC, un delle prestazioni, framework RPC open source. Questo framework è adatto a streaming audio bidirezionale.

Python

Se utilizzi Python, inizia a utilizzare questa guida.

C++

Dai un'occhiata al nostro esempio di C++ su GitHub.

Node.js

Dai un'occhiata al nostro esempio di Node.js su GitHub.

Android Things

Ti interessano i dispositivi incorporati? Dai un'occhiata all'SDK Assistant sample per Android Things.

Altre lingue

Autorizza e autentica il tuo Account Google per collaborare con l'assistente

Il passaggio successivo consiste nell'autorizzare il dispositivo a parlare con l'Assistente Google usando il tuo Account Google.

Ottenere i token OAuth con l'ambito dell'SDK dell'assistente

L'SDK Assistant utilizza i token di accesso OAuth 2.0 per autorizzare il dispositivo a: connettiti con l'assistente.

Durante la prototipazione, puoi utilizzare lo strumento di autorizzazione per generare facilmente OAuth2.0 credenziali del file client_secret_<client-id>.json generato registrando il modello del tuo dispositivo.

Per generare le credenziali, procedi nel seguente modo:

  1. Utilizza un ambiente virtuale Python per isolare lo strumento di autorizzazione e le sue dipendenze dai pacchetti Python di 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. Installa lo strumento di autorizzazione:

    python -m pip install --upgrade google-auth-oauthlib[tool]
  3. Esegui lo strumento. Rimuovi il flag --headless se lo esegui da un terminale sul dispositivo (non una sessione SSH):

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

Quando tutto è pronto per integrare l'autorizzazione come parte del processo di provisioning meccanismo di attenzione del dispositivo, leggi le nostre guide per l'utilizzo di OAuth 2.0 per accedere alle API di Google per capire come ottenere, mantenere e utilizzare i token di accesso OAuth dispositivo per parlare con l'API Assistant.

Durante la consultazione di queste guide, utilizza i seguenti elementi:

Consulta le best practice su privacy e sicurezza per consigli su come proteggere il tuo dispositivo.

Autentica la connessione gRPC con i token OAuth

Infine, metti insieme tutte le parti leggendo le istruzioni su come utilizzare l'autenticazione con Google per di autenticare la connessione gRPC all'API Assistant.

Registra il tuo dispositivo

Registra il modello e l'istanza del dispositivo manualmente. o con lo strumento di registrazione (disponibile in Python).

Implementa una finestra di dialogo di conversazione di base con l'assistente

  1. Implementare un client gRPC per flussi bidirezionali per l'API Google Assistant Service.
  2. Attendi che l'utente attivi una nuova richiesta (ad es. attendi un interruzione GPIO dalla pressione di un pulsante).
  3. Invia un AssistRequest con il campo config impostato (vedi AssistConfig). Assicurati che il campo config contenga quanto segue:

    • Il campo audio_in_config, che specifica come elaborare Dati di audio_in che verranno forniti nelle richieste successive (vedi AudioInConfig).
    • Il campo audio_out_config, che specifica il formato desiderato per l'elemento server da utilizzare quando restituisce i messaggi audio_out (vedi AudioOutConfig).
    • Il campo device_config, che identifica dispositivo registrato per l'assistente (vedi DeviceConfig).
    • Il campo dialog_state_in, che contiene language_code associati alla richiesta (vedi DialogStateIn).
  4. Avvia la registrazione.

  5. Inviare più AssistRequest in uscita messaggi con dati audio della query vocale nel campo audio_in.

  6. Gestisci in arrivo AssistResponse messaggi.

  7. Estrai i metadati della conversazione dalla AssistResponse . Ad esempio, da dialog_state_out, recupera il conversation_state e volume_percentage (vedi DialogStateOut).

  8. Interrompere la registrazione quando si riceve una AssistResponse con event_type di END_OF_UTTERANCE.

  9. Riproduci l'audio della risposta dell'assistente con dati audio provenienti da audio_out .

  10. Copia il conversation_state che hai estratto in precedenza in DialogStateIn messaggio in AssistConfig per il prossimo AssistRequest.

A questo punto, dovresti essere pronto a effettuare le prime richieste al team Assistente tramite il tuo dispositivo.

Estendere una finestra di dialogo di conversazione con Azioni dispositivo

Estendi la finestra di dialogo della conversazione di base qui sopra per attivare l'hardware univoco funzionalità del tuo particolare dispositivo:

  1. Nella AssistResponse in arrivo messaggi, estrai il campo device_action (vedi DeviceAction).
  2. Analizza il payload JSON del campo device_request_json. Consulta le Trait del dispositivo per di trait supportati. Ogni pagina dello schema dei trait mostra un esempio di EXECUTE con i comandi e i parametri device che vengono restituiti Payload JSON.

Ottieni la trascrizione della richiesta dell'utente

Se hai un display collegato al dispositivo, potresti volerlo usare per mostrare la richiesta dell'utente. Per ottenere questa trascrizione, analizza il campo speech_results in AssistResponse messaggi. Al termine del riconoscimento vocale, l'elenco conterrà un elemento con stability impostato su 1,0.

Recupera il testo e/o il rendering visivo della risposta dell'assistente

Se hai un display collegato al dispositivo, potresti volerlo usare per mostra la risposta in testo normale dell'assistente alla richiesta dell'utente. Questo testo si trova in DialogStateOut.supplemental_display_text .

L'assistente supporta le risposte visive tramite HTML5 per alcune query (Cosa è il tempo a Mountain View? o Che ore sono?). Per attivare questa funzionalità, imposta il campo screen_out_config in AssistConfig. La ScreenOutConfig il messaggio ha un campo screen_mode che deve essere impostato su PLAYING.

La AssistResponse per i messaggi verrà impostato il campo screen_out. Puoi estrarre i dati HTML5 (se presenti) dal data.

Invio di query tramite input di testo

Se hai collegato un'interfaccia di testo (ad esempio una tastiera) al dispositivo, imposta il campo text_query nel campo config (vedi AssistConfig). Non impostare il campo audio_in_config.

Risoluzione dei problemi

Consulta la sezione Risoluzione dei problemi. in caso di problemi.