Passaggio 2. Distribuire il PoC per raccogliere commenti degli stakeholder
Al termine di questo passaggio, si sarà distribuita l'app Agent Evaluation Review che consente agli stakeholder di testare e fornire feedback sul POC. I log dettagliati sull'utilizzo da parte degli stakeholder e il loro feedback verranno trasmessi a Delta Tables nel Lakehouse.
Requisiti
- Completare il passaggio 1. Clonare il repository di codice e creare passaggi di calcolo
- Dati di Prerequisito: raccogliere i requisiti è disponibile nel tuo Lakehouse all'interno di un Unity Catalogvolume.
Per il codice di esempio in questa sezione, vedere il repository GitHub.
Modello di verifica dell'applicazione RAG
Il primo passaggio dello sviluppo basato sulla valutazione consiste nel creare un modello di verifica (PoC). Un PoC offre i seguenti vantaggi:
- Fornisce una vista direzionale sulla fattibilità del caso d'uso con RAG
- Consente di raccogliere feedback iniziali dagli stakeholder, quindi di creare la prima versione della valutazione Set.
- Stabilisce una misurazione di base della qualità da cui iniziare l'iterazione
Databricks consiglia di creare il modello di verifica usando l'architettura RAG più semplice e le impostazioni predefinite consigliate di Databricks per ogni parametro.
Questo consiglio è dovuto al fatto che sono disponibili centinaia di possibili combinazioni di parameters che è possibile ottimizzare all'interno dell'applicazione RAG. Si possono facilmente passare settimane a effettuare l’ottimizzazione, ma se lo si fa prima di poter valutare sistematicamente la RAG, si finisce in quello che viene definito ciclo doom PoC- che esegue l’iterazione sulle impostazioni, ma senza la possibilità di capire in modo obiettivo se si è apportato un miglioramento - il tutto mentre gli stakeholder attendono impazientemente di poter rivedere.
I modelli poC in questa esercitazione sono progettati tenendo presente l'iterazione di qualità. Sono parametrizzati in base a ciò che il team di ricerca di Databricks ha mostrato essere importante per ottimizzare la qualità dei RAG. Questi modelli non sono "3 righe di codice che magicamente compongono un RAG", ma sono un'applicazione RAG ben strutturata che può essere ottimizzata per la qualità nei passaggi seguenti di un flusso di lavoro di sviluppo basato sulla valutazione.
In questo modo è possibile distribuire rapidamente un PoC, ma anche passare rapidamente all'iterazione di qualità senza dover riscrivere il codice.
Di seguito è riportata l'architettura tecnica dell'applicazione PoC:
Nota
Per impostazione predefinita, il PoC usa i modelli open source disponibili in Mosaic AI Foundation Model Serving. Tuttavia, poiché il PoC usa Mosaic AI Model Serving, che supporta qualsiasi modello di base, l'uso di un modello diverso è semplice: è sufficiente configurare tale modello in Model Serving e poi sostituire embedding_endpoint_name
e llm_endpoint_name
nel 00_config
notebook.
- Seguire le API del modello di base per la velocità effettiva con provisioning per altri modelli open source disponibili in Databricks Marketplace.
- Seguire Create_OpenAI_External_Model notebook o modelli esterni in Mosaic AI Model Serving per modelli ospitati da terze parti supportati, ad esempio Azure OpenAI, OpenAI, Cohere, Anthropic e Google Gemini.
Passaggi per distribuire il PoC per raccogliere commenti e suggerimenti
I seguenti passaggi illustrano come eseguire e distribuire un'applicazione di intelligenza artificiale generativa da un PoC. Dopo aver distribuito get un URL all'app di revisione che è possibile condividere con gli stakeholder per raccogliere commenti e suggerimenti.
Aprire la cartella del codice PoC all'interno di A_POC_app in base al tipo di dati:
- Per i file PDF, usare il pdf_uc_volume.
- Per i file Powerpoint, usare il pptx_uc_volume.
- Per i file DOCX, usare il docx_uc_volume.
- I file JSON con testo, markdown, contenuto HTML e metadati, usano il json_uc_volume
Se i dati non soddisfano uno dei requisiti precedenti, è possibile personalizzare la funzione di analisi (
parser_udf
) all’interno di02_poc_data_pipeline
nelle suddette directory PoC per lavorare con i tipi di file.All'interno della cartella PoC sono visualizzati i seguenti notebook:
Nota
Questi notebook sono relativi al PoC specifico scelto. Ad esempio, se viene visualizzato un riferimento a
00_config
e si è sceltopdf_uc_volume
, è possibile trovare il notebook00_config
pertinente in A_POC_app/pdf_uc_volume/00_config.Opzionalmente, esaminare il predefinito parameters.
Aprire il notebook
00_config
all'interno della directory POC scelta in precedenza per visualizzare le applicazioni predefinite del POC parameters per la pipeline di dati e la catena RAG.Importante
La parameters predefinita consigliata di Databricks non è progettata per essere perfetta, ma è un punto di partenza. I passaggi successivi di questo flusso di lavoro ti guidano nell'iterazione su questi parameters.
Convalida della configurazione.
Eseguire
01_validate_config
per verificare che la configurazione sia valida e che tutte le risorse siano disponibili. Il filerag_chain_config.yaml
viene visualizzato nella directory, che viene usata per distribuire l'applicazione.Eseguire la pipeline di dati.
La pipeline di dati PoC è un notebook di Databricks basato su Apache Spark. Aprire il notebook
02_poc_data_pipeline
e premere Esegui tutto per eseguire la pipeline. La pipeline esegue le operazioni seguenti:- Carica i documenti non elaborati dal volume UC
- Analizza ogni documento, salvando i risultati in un Delta Table
- Suddivide ogni documento, salvando i risultati in un Delta Table
- Incorpora i documenti e crea un indice vettoriale usando la ricerca vettoriale di Mosaic AI
I metadati, come l'output tables e la configurazione, relativi alla pipeline di dati sono registrati in MLflow.
È possibile esaminare gli output cercando i collegamenti all'output Delta Tables o agli indici vettoriali nella parte bassa del notebook.
Vector index: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>_poc_chunked_docs_gold_index Output tables: Bronze Delta Table w/ raw files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_raw_files_bronze Silver Delta Table w/ parsed files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_parsed_docs_silver Gold Delta Table w/ chunked files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_chunked_docs_gold
Distribuire la catena PoC nell'app di revisione.
La catena PoC predefinita è una catena RAG di conversazioni a più turni creata con LangChain.
Nota
La catena PoC usa la registrazione basata sul codice MLflow. Per altre informazioni sulla registrazione basata su codice, vedere Registrare gli agenti di intelligenza artificiale.
Aprire il notebook
03_deploy_poc_to_review_app
Eseguire ciascuna cella del notebook.
La traccia MLflow mostra il funzionamento dell'applicazione PoC. Modificare la domanda di input in un caso d'uso pertinente ed eseguire di nuovo la cella per "vibe check" l'applicazione.
Modificare le istruzioni predefinite in modo che siano rilevanti per il caso d'uso. Questi vengono visualizzati nell'app di revisione.
instructions_to_reviewer = f"""## Instructions for Testing the {RAG_APP_NAME}'s Initial Proof of Concept (PoC) Your inputs are invaluable for the development team. By providing detailed feedback and corrections, you help us fix issues and improve the overall quality of the application. We rely on your expertise to identify any gaps or areas needing enhancement. 1. **Variety of Questions**: - Please try a wide range of questions that you anticipate the end users of the application will ask. This helps us ensure the application can handle the expected queries effectively. 2. **Feedback on Answers**: - After asking each question, use the feedback widgets provided to review the answer given by the application. - If you think the answer is incorrect or could be improved, please use "Edit Answer" to correct it. Your corrections will enable our team to refine the application's accuracy. 3. **Review of Returned Documents**: - Carefully review each document that the system returns in response to your question. - Use the thumbs up/down feature to indicate whether the document was relevant to the question asked. A thumbs up signifies relevance, while a thumbs down indicates the document was not useful. Thank you for your time and effort in testing {RAG_APP_NAME}. Your contributions are essential to delivering a high-quality product to our end users.""" print(instructions_to_reviewer)
Eseguire la cella di distribuzione per get un collegamento all'App di Revisione.
Review App URL: https://<your-workspace-url>.databricks.com/ml/review/<uc-catalog>.<uc-schema>.<uc-model-name>/<uc-model-version>
Grant autorizzazioni dei singoli utenti per accedere all'app di revisione.
È possibile grant l'accesso agli utenti non Databricks seguendo i passaggi descritti in Set autorizzazioni per usare l'app di revisione.
Testare l'app di revisione ponendo alcune domande e fornendo commenti e suggerimenti.
Nota
MLflow Traces e il feedback dell'utente della Review App vengono visualizzati in Delta Tables nel catalogschema configurato. I log possono richiedere fino a 2 ore per essere visualizzati in questi TablesDelta.
Condividere l'app di revisione con gli stakeholder
È ora possibile condividere l'applicazione RAG POC con gli stakeholder per get il loro feedback.
Importante
Databricks suggerisce di distribuire il modello di verifica ad almeno tre stakeholder e having ognuno di essi pone 10 - 20 domande. È importante avere più stakeholder che testano il modello di verifica in modo da avere un'set diversificata di prospettive da includere nella valutazione set.
Passaggio successivo
Procedere con il passaggio 3. Organizzare una valutazione Set a partire dal feedback degli stakeholder.
< Precedente: Passaggio 1. Clonare il repository e creare il calcolo
Successivo: Passaggio 3. Curare un set> di valutazione