Ottenere feedback sulla qualità di un’agentic application
Importante
Questa funzionalità è disponibile in anteprima pubblica.
Questo articolo illustra come usare l'app di recensione di Databricks per raccogliere feedback da utenti che lasciano recensioni sulla qualità dell'agentic application. Riguarda le aree seguenti:
- Come distribuire l'app di recensione.
- Come i revisori usano l'app per fornire commenti e suggerimenti sulle risposte dell'agentic application.
- In che modo gli esperti possono esaminare le chat registrate per fornire suggerimenti per migliorare e altri feedback usando l'app.
Cosa succede in una valutazione umana?
L'app di revisione di Databricks esegue le fasi dell'LLM in un ambiente in cui gli stakeholder esperti possono interagire con esso, in altre parole, avere una conversazione, porre domande, fornire feedback e così via. L'app di revisione registra tutte le domande, le risposte e il feedback in una tabella di inferenza, in modo da poter analizzare ulteriormente le prestazioni di LLM. In questo modo, l'app di revisione consente di garantire la qualità e la sicurezza delle risposte fornite dall'applicazione.
Gli stakeholder possono chattare con il bot dell'applicazione e fornire commenti e suggerimenti su tali conversazioni o feedback sui log cronologici, sulle tracce curate o sugli output dell'agente.
Requisiti
Le tabelle di inferenza devono essere abilitate nell'endpoint che gestisce l'agente.
Ogni revisore umano deve avere accesso all'area di lavoro per le app di revisione o essere sincronizzato con l'account Databricks con SCIM. Vedere la sezione successiva Configurare le autorizzazioni per usare l'app di revisione.
Gli sviluppatori devono installare l'SDK
databricks-agents
per configurare le autorizzazioni e configurare l'app di recensione.%pip install databricks-agents dbutils.library.restartPython()
Configurare le autorizzazioni per l'uso dell'app di revisione
Nota
I revisori umani non richiedono l'accesso all'area di lavoro per usare l'app di revisione.
È possibile concedere l'accesso all'app di revisione a qualsiasi utente nell'account Databricks, anche se non ha accesso all'area di lavoro che contiene l'app di revisione.
- Per gli utenti che non hanno accesso all'area di lavoro, un amministratore dell'account usa il provisioning SCIM a livello di account per sincronizzare automaticamente utenti e gruppi dal provider di identità all'account Azure Databricks. È anche possibile registrare manualmente questi utenti e gruppi per concedere loro l'accesso quando si configurano le identità in Databricks. Consultare Sincronizzare utenti e gruppi da Microsoft Entra ID.
- Per gli utenti che hanno già accesso all'area di lavoro che contiene l'app di revisione, non è necessaria alcuna configurazione aggiuntiva.
L'esempio di codice seguente illustra come concedere agli utenti l'autorizzazione per l'app di revisione per un agente. Il users
parametro accetta un elenco di indirizzi di posta elettronica.
from databricks import agents
# Note that <user_list> can specify individual users or groups.
agents.set_permissions(model_name=<model_name>, users=[<user_list>], permission_level=agents.PermissionLevel.CAN_QUERY)
Per esaminare un log di chat, un utente deve disporre dell'autorizzazione CAN_REVIEW
.
Distribuire l'app di recensione
Quando si distribuisce un agente usando agents.deploy()
, l'app di recensione viene abilitata e distribuita automaticamente. L'output del comando mostra l'URL per l'app di recensione. Per informazioni sulla distribuzione di un agente, vedere Distribuire un agente per un'applicazione di IA generativa.
Se si perde il collegamento alla distribuzione, è possibile trovarlo usando list_deployments()
.
from databricks import agents
deployments = agents.list_deployments()
deployments
Esaminare l'interfaccia utente dell'app
Per aprire l'app di recensione, fare clic sull'URL fornito. L'interfaccia utente dell'app di recensione include tre schede nella barra laterale sinistra:
- Istruzioni visualizza le istruzioni per l’utente affinché possa lasciare la recensione. Vedere Fornire istruzioni ai revisori .
- Chat da esaminare Visualizza i log delle interazioni dei revisori con l'app per consentire agli esperti di valutare. Vedi Recennsione degli esperti dei log delle interazioni di altri utenti con l'app.
- Testare il bot Consente ai revisori di chattare con l'app e inviare recensioni delle risposte. Vedere Chattare con l'app e inviare recensioni.
Quando si apre l'app di recensione, viene visualizzata la pagina delle istruzioni.
- Per chattare con il bot, fare clic su Avvia recensione oppure selezionare Test del bot dalla barra laterale sinistra. Per altri dettagli, vedi Chat con l’app e invia recensioni.
- Per esaminare i log delle chat resi disponibili per la recensione, selezionare Chat da esaminare nella barra laterale. Per informazioni dettagliate, vedi Revisione di esperti dei log delle interazioni di altri utenti con l'app . Per informazioni su come rendere disponibili i log di chat dall'app di revisione, vedere Rendere disponibili i log di chat per la valutazione da parte dei recensori esperti.
Fornire istruzioni ai revisori
Per fornire testo personalizzato per le istruzioni visualizzate per i revisori, usare il codice seguente:
from databricks import agents
agents.set_review_instructions(uc_model_name, "Thank you for testing the bot. Use your domain expertise to evaluate and give feedback on the bot's responses, ensuring it aligns with the needs and expectations of users like yourself.")
agents.get_review_instructions(uc_model_name)
Chattare con l'app e inviare recensioni
Per chattare con l'app e inviare recensioni:
Fare clic su Testa il bot nella barra laterale sinistra.
Digitare la domanda nella casella e premere Invio o Invio sulla tastiera oppure fare clic sulla freccia nella casella.
L'app visualizza la risposta alla domanda e le origini usate per trovare la risposta.
Nota
Se l'agente utilizza un retriever, le fonti di dati vengono identificate dal campo
doc_uri
impostato dallo schema del retriever definito durante la configurazione dell'agente. Consulta lo schema del recuperatore impostato.Esaminare la risposta dell'app e selezionare Sì, No o Non lo so.
L’app chiede altre informazioni. Selezionare le caselle appropriate o digitare i commenti nel campo specificato.
È anche possibile modificare direttamente la risposta per fornirne una migliore. Per modificare la risposta, fare clic su Modifica risposta, apportare le modifiche nella finestra di dialogo e fare clic su Salva, come illustrato nel video seguente.
Fare clic su Fine per salvare il feedback.
Continuare a porre domande per fornire feedback aggiuntivi.
Il diagramma seguente illustra questo flusso di lavoro:
- Usando l'app di recensione, i revisori chatrano con l'agentic application.
- Usando l'app di recensione, il revisore fornisce commenti e suggerimenti sulle risposte dell'applicazione.
- Tutte le richieste, le risposte e il feedback vengono registrate nelle tabelle di inferenza.
Rendere disponibili i log di chat per la valutazione da parte dei revisori esperti
Quando un utente interagisce con l'app usando l'API REST o l'app di recensione, tutte le richieste, le risposte e il feedback aggiuntivo vengono salvate nelle tabelle di inferenza. Le tabelle di inferenza si trovano nello stesso catalogo di Unity Catalog e nello stesso schema in cui il modello è stato registrato e sono denominate <model_name>_payload
, <model_name>_payload_assessment_logs
e <model_name>_payload_request_logs
. Per altre informazioni su queste tabelle, inclusi gli schemi, vedere Tabelle di inferenza avanzata dall'agente.
Per caricare questi log nell'app di recensione per la valutazione da parte di revisori esperti, è prima necessario trovare le recensioni request_id
e abilitare le verifiche come request_id
indicato di seguito:
Individuare gli oggetti
request_id
da recensire nella tabella di inferenza<model_name>_payload_request_logs
. La tabella di inferenza si trova nello stesso Unity Catalog e nello stesso schema in cui è stato registrato il modello.Usare codice simile al seguente per caricare i log di recensione nell'app di recensione:
from databricks import agents agents.enable_trace_reviews( model_name=model_fqn, request_ids=[ "52ee973e-0689-4db1-bd05-90d60f94e79f", "1b203587-7333-4721-b0d5-bba161e4643a", "e68451f4-8e7b-4bfc-998e-4bda66992809", ], )
La cella del risultato include un collegamento all'app di recensione con i log selezionati caricati per la recensione.
Esame esperto dei log delle interazioni di altri utenti con l'app
Per esaminare i log delle chat precedenti, è necessario che i log siano stati abilitati per la recensione. Vedere Rendere disponibili i log delle chat per la valutazione da parte dei revisori esperti.
Nella barra laterale sinistra dell'app di revisione selezionare Chat da esaminare. Vengono visualizzate le richieste abilitate.
Fare clic su una richiesta per visualizzarla per la recensione.
Esaminare la richiesta e la risposta. L'app mostra anche le origini usate per riferimento. È possibile fare clic su questi elementi per esaminare il riferimento e fornire commenti e suggerimenti sulla rilevanza dell'origine.
Per fornire commenti e suggerimenti sulla qualità della risposta, selezionare Sì, No o Non lo so.
L’app chiede altre informazioni. Selezionare le caselle appropriate o digitare i commenti nel campo specificato.
È anche possibile modificare direttamente la risposta per fornirne una migliore. Per modificare la risposta, fare clic su Modifica risposta, apportare le modifiche nella finestra di dialogo e fare clic su Salva. Vedere Chattare con l'app e inviare recensioni per visualizzare un video che mostra il processo.
Fare clic su Fine per salvare il feedback.
Il diagramma seguente illustra questo flusso di lavoro:
- Usando l'app di recensione o l'app personalizzata, i revisori chattano con l'agentic application.
- Tutte le richieste e le risposte vengono registrate nelle tabelle di inferenza.
- Lo sviluppatore di applicazioni usa
enable_trace_reviews([request_id])
(doverequest_id
è dalla tabella di inferenza<model_name>_payload_request_logs
) per pubblicare i log delle chat per esaminare l'app. - Usando l'app di recensione, i l’esperto esamina i log e fornisce feedback. Il feedback degli esperti viene registrato nelle tabelle di inferenza.
Nota
Se è stato abilitato il firewall di Archiviazione di Azure, contattare il team dell'account Azure Databricks per abilitare le tabelle di inferenza per gli endpoint.
Usare mlflow.evaluate()
nella tabella dei log delle richieste
Il notebook seguente illustra come usare i log dell'app di revisione come input per un'esecuzione di valutazione usando mlflow.evaluate()
.