Ogni playbook deve avere uno o più esempi. Questi esempi sono conversazioni di esempio tra un utente finale e il playbook, inclusi il dialogo e le azioni eseguite dall'agente. Questi sono effettivamente esempi di prompt few-shot per l'LLM.
La console fornisce un'interfaccia per l'inserimento delle azioni.
Agenti multilingue
Se l'agente gestisce più lingue, utilizza ciascuna delle lingue negli esempi.
Esempi di riepiloghi di input e output
Oltre ai parametri di input e output, i playbook supportano la ricezione di un riepilogo di input e l'emissione di un riepilogo di output per lo scambio di informazioni con altri playbook. I riepiloghi sono utili per passare informazioni contestuali astratte tra i playbook, mentre i parametri sono più utili per passare campi strutturati e ben definiti tra i playbook. I parametri sono l'unico modo per scambiare dati tra flussi e playbook.
Aggiungi riepiloghi degli input pertinenti agli esempi per aiutare il playbook ad adattare le sue azioni in base a questi riepiloghi degli input in fase di runtime. Aggiungi riepiloghi di output che includano dettagli pertinenti e accurati sulla conversazione di esempio per mostrare al playbook quali dettagli sono importanti da riassumere.
Stato di esempio
In un determinato momento della conversazione, un playbook si trova in uno dei seguenti stati:
OK: il playbook ha raggiunto l'obiettivo e il controllo viene trasferito al playbook principale.CANCELLED: l'utente decide di non procedere con l'obiettivo assegnato al playbook e il controllo viene trasferito al playbook principale. Se il playbook principale è un flusso CX, Dialogflow CX rileva l'intent dell'input utente prima dell'esecuzione del flusso.FAILED: il playbook non può procedere con l'obiettivo a causa di un errore (ad esempio, uno strumento restituisce un errore 500). La sessione termina con lo stato di errore. Alla risposta viene aggiunto un messaggio EndInteraction.ESCALATED: il playbook decide che non può raggiungere l'obiettivo e deve assegnare la situazione a un essere umano. La sessione termina con lo stato di riassegnazione. Alla risposta viene aggiunto un messaggio EndInteraction.PENDING: la conversazione continua all'interno del playbook.
Devi indicare l'esempio di primo livello e le relative chiamate del playbook con uno stato che corrisponde al playbook a cui fanno riferimento.
Strategia di selezione
L'impostazione della strategia di selezione controlla se un esempio è incluso nel prompt inviato all'LLM per il playbook.
Sono disponibili le seguenti opzioni:
- Seleziona dinamicamente: l'esempio viene incluso in modo condizionale in base alla sua pertinenza per il contesto della conversazione corrente. Puoi omettere l'esempio se il prompt si avvicina al limite di token.
- Seleziona sempre: l'esempio viene sempre incluso, indipendentemente dal contesto della conversazione. Puoi omettere l'esempio se il prompt si avvicina al limite di token.
- Non selezionare mai: l'esempio non è incluso nel prompt. L'esempio non ha alcun effetto sulle prestazioni del playbook. Questa impostazione è utile per escludere temporaneamente un esempio per i test.
Aggiungi azione
Un esempio fornito all'interno di un playbook contiene una serie di azioni. Queste azioni possono variare in combinazione, ma descrivono principalmente l'interazione tra te e il playbook, insieme alle azioni intraprese nel frattempo per soddisfare la tua query o i tuoi requisiti.
Puoi aggiungere azioni a un esempio in due modi:
- Per aggiungere un'azione manualmente, fai clic sul pulsante + in basso nel riquadro a destra o sul pulsante Aggiungi azione quando tieni il puntatore sopra le azioni esistenti. Utilizza queste opzioni quando crei un nuovo esempio facendo clic sull'opzione + Esempio o quando modifichi un esempio esistente.
- Per generare automaticamente azioni in base alle istruzioni del playbook esistenti, inserisci l'input utente nel campo Inserisci l'input utente nella parte inferiore del riquadro a destra. Utilizza questa opzione quando crei o modifichi un esempio. In alternativa, utilizza questa opzione quando testi il playbook in fase di runtime nel riquadro Anteprima playbook a destra. Per salvare le azioni in un esempio dal riquadro Anteprima playbook, fai clic su Salva esempio dopo aver selezionato la chiamata del playbook dall'elenco delle chiamate a sinistra del riquadro Anteprima playbook.
Verifica la correttezza delle azioni generate automaticamente e modificale, se necessario. Questo è particolarmente importante per i playbook con pochi o nessun esempio.
Il playbook supporta i seguenti tipi di azioni.
Risposta del playbook
Fornisce la risposta del playbook alla query dell'utente.
Input utente
Inserisci la query dell'utente.
Utilizzo degli strumenti
Ottenere le informazioni aggiuntive necessarie per soddisfare la query dell'utente utilizzando una chiamata allo strumento.
Questa azione specifica i seguenti dettagli:
- Tool: nome dello strumento che devi richiamare.
- Azione: nome dell'operazione per lo strumento OpenAPI che devi richiamare. Per gli strumenti datastore e gli strumenti funzione, il nome dell'azione è lo stesso del nome dello strumento.
Input dello strumento: input da includere nella chiamata allo strumento. Questi input di solito derivano da turni di conversazione precedenti con l'utente.
Per gli strumenti OpenAPI, è richiesto il formato JSON
requestBodyper i tipi di metodiPOST,PUTePATCH.Esempio di input dello strumento OpenAPI
requestBodyper l'azione createPet:{ "id": 1, "name": "Luna" }Per lo strumento datastore, l'esempio
requestBodymostra dove è richiesta la query e altri campi sono facoltativi:{ "query": "Where is my nearest store?", "filter": "country: ANY(\"United States\")", "userMetadata": { "userCity": "San Francisco", }, "fallback": "We don't have any stores in your area." }Output dello strumento: la risposta della chiamata dello strumento. Questa è una risposta JSON valida dello strumento all'input fornito. Per gli strumenti OpenAPI, può anche essere un errore di stringa (ad esempio, "404 - Non trovato").
Output di esempio dello strumento OpenAPI per l'azione listPets:
{ "pets": [ { "id": 1, "name": "Luna" }, { "id": 2, "name": "Charlie" }] }Esempio di output dello strumento datastore per la query "Dov'è il negozio più vicino?":
{ "answer": "Here's the address to your nearest store ...", "snippets": [ { "title": "San Francisco Downtown", "uri": "https://www.example.com/San_Francisco_Downtown", "text": "Address for San Francisco Downtown .." } ] }
Per garantire che il playbook sia sicuro, includi esempi di come il playbook risponde quando l'invocazione dello strumento non va a buon fine. Puoi rappresentare l'errore di chiamata dello strumento OpenAPI come una stringa di errore ("404 non trovato") nell'output dello strumento. Per gli strumenti del datastore, puoi utilizzare l'input fallback per specificare come rispondere se non esiste una risposta riassuntiva.
Se vuoi che lo strumento datastore includa un URI nella risposta del playbook, aggiungi esempi che contengano l'URI con cui vuoi che il playbook risponda. Se questo URI proviene dallo strumento datastore, l'output dello strumento datastore deve contenere un URI che corrisponda all'URI nella risposta del playbook.
Gli esempi contenenti azioni di utilizzo degli strumenti possono diventare piuttosto dettagliati e aumentare il consumo del limite di token di input. Per utilizzare i token in modo efficiente, assicurati che gli output degli strumenti siano concisi e contengano informazioni pertinenti agli obiettivi del playbook. Per gli strumenti del datastore, valuta la possibilità di rimuovere gli snippet dagli esempi perché causano un consumo elevato di token di input.
Chiamata del playbook
Utilizza questa azione quando il playbook deve richiamare un altro playbook di attività per soddisfare la query dell'utente.
Specifica i seguenti dettagli per questa azione:
- Playbook: il nome del playbook da richiamare.
- Riepilogo degli input di chiamata del playbook: un riepilogo delle parti pertinenti della conversazione precedente che sono utili per il playbook richiamato.
- Parametri di input: parametri di input da passare al playbook.
- Riepilogo dell'output della chiamata del playbook: un riepilogo di ciò che il playbook deve generare al completamento del suo obiettivo.
- Parametri di output: parametri di output generati dal playbook al completamento del suo obiettivo.
Transizione del playbook
Un'azione di transizione del playbook è un'azione terminale che non deve essere seguita da altre azioni, a indicare che il playbook della routine ha deciso di uscire e passare a un playbook della routine di destinazione. Poiché questa azione indica che il playbook viene chiuso, aggiungi i parametri di output del playbook all'output del playbook dell'esempio.
Chiamata del flusso
Questa azione viene utilizzata quando il playbook dell'attività deve richiamare un flusso.
Questa azione deve specificare i seguenti dettagli:
- Flusso: nome del flusso da richiamare.
- Parametri di input del flusso: parametri di input da passare al flusso.
- Parametri di ritorno del flusso: parametri di output restituiti dal flusso.
Transizione di flusso
Un'azione di transizione del flusso è un'azione terminale che non deve essere seguita da altre azioni, a indicare che il playbook della routine ha deciso di uscire ed eseguire la transizione a un flusso di destinazione. Poiché questa azione indica che il playbook viene chiuso, aggiungi i parametri di output del playbook all'output del playbook di esempio.