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 sull'utilizzo da parte degli stakeholder e il loro feedback verranno trasmessi a Delta Tables nel 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 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:

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 distribuito get un URL all'app di revisione che è possibile condividere con gli stakeholder per raccogliere commenti e suggerimenti.

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

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

    GIF per la visualizzazione della pipeline di dati

    È 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
    
  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 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>
      
  6. 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.

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

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