Condividi tramite


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 dall'uso degli stakeholder e i loro commenti e suggerimenti verranno trasmessi alle tabelle Delta nel tuo Lakehouse.

Modello di verifica dell'applicazione RAG

Requisiti

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 iniziale dagli stakeholder, che a sua volta consente di creare la prima versione del set di valutazione
  • 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 parametri 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:

Architettura 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.

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 effettuato il deployment, ricevi un URL per l'app di revisione che puoi condividere con gli stakeholder per raccogliere feedback.

  1. Aprire la cartella del codice PoC all'interno di A_POC_app in base al tipo di dati:

    Se i dati non soddisfano uno dei requisiti precedenti, è possibile personalizzare la funzione di analisi (parser_udf) all’interno di 02_poc_data_pipeline nelle suddette directory PoC per lavorare con i tipi di file.

    All'interno della cartella PoC sono visualizzati i seguenti notebook:

    File di notebook

    Nota

    Questi notebook sono relativi al PoC specifico scelto. Ad esempio, se viene visualizzato un riferimento a 00_config e si è scelto pdf_uc_volume, è possibile trovare il notebook 00_config pertinente in A_POC_app/pdf_uc_volume/00_config.

  2. Facoltativamente, esaminare i parametri predefiniti.

    Aprire il notebook 00_config all'interno della directory POC scelta in precedenza per visualizzare i parametri predefiniti delle applicazioni POC per la pipeline di dati e la catena RAG.

    Importante

    I parametri predefiniti consigliati di Databricks non sono progettati per essere perfetti, ma sono un punto di partenza. I passaggi successivi di questo flusso di lavoro illustrano l'iterazione di questi parametri.

  3. Convalida della configurazione.

    Eseguire 01_validate_config per verificare che la configurazione sia valida e che tutte le risorse siano disponibili. Il file rag_chain_config.yaml viene visualizzato nella directory, che viene usata per distribuire l'applicazione.

  4. 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 una tabella Delta
    • Suddivide ogni documento, salvando i risultati in una tabella Delta
    • Incorpora i documenti e crea un indice vettoriale usando la ricerca vettoriale di Mosaic AI

    I metadati, come le tabelle di output e la configurazione, sulla pipeline di dati vengono registrati in MLflow:

    GIF per la visualizzazione della pipeline di dati

    È possibile esaminare gli output cercando i collegamenti all'output delle tabelle delta o degli indici vettoriali nella parte inferiore 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
    
  5. 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.

    1. Aprire il notebook 03_deploy_poc_to_review_app

    2. Eseguire ciascuna cella del notebook.

    3. 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.

      GIF che mostra MLflow Tracing

    4. 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)
      
    5. Eseguire la cella di distribuzione per ottenere 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>
      
  6. Concedere a singoli utenti le autorizzazioni per accedere all'app di revisione.

    È possibile concedere l'accesso agli utenti non Databricks seguendo la procedura descritta in Configurare le autorizzazioni per usare l'app di revisione.

  7. Testare l'app di revisione ponendo alcune domande e fornendo commenti e suggerimenti.

    Nota

    MLflow Traces e il feedback dell'utente dell'app di revisione vengono visualizzati nelle tabelle Delta nello schema del catalogo configurato. I log possono richiedere fino a 2 ore per essere visualizzati in queste tabelle delta.

  8. Condividere l'app di revisione con gli stakeholder

    È ora possibile condividere l'applicazione RAG POC con gli stakeholder per ottenere il loro feedback.

    Importante

    Databricks suggerisce di distribuire il Proof of Concept ad almeno tre stakeholder, chiedendo a ciascuno di loro di porre 10 - 20 domande. È importante che più stakeholder testino il POC così da ottenere un insieme di prospettive diversificato da includere nel set di valutazione.

Passaggio successivo

Continuare con Fase 3. Creare un set di valutazione dal feedback degli stakeholder.

< Precedente: Passaggio 1. Clonare il repository e creare il calcolo

Successivo: Passaggio 3. Curare un set di valutazione >