Compartir a través de


Paso 2. Implementación de una POC para recopilar comentarios de las partes interesadas

Al final de este paso, habrá implementado la aplicación de revisión de evaluación del agente que permite a las partes interesadas probar y proporcionar comentarios sobre la POC. Los registros detallados del uso de las partes interesadas y sus comentarios fluirán a las tablas delta en Lakehouse.

Prueba de concepto de la aplicación RAG

Requisitos

Consulte el repositorio de GitHub para ver el código de ejemplo de esta sección.

Aplicación RAG de prueba de concepto

El primer paso en el desarrollo controlado por una evaluación es crear una prueba de concepto (POC). Una POC ofrece las siguientes ventajas:

  • Proporciona una vista direccional sobre la viabilidad de su caso de uso con RAG
  • Permite recopilar comentarios iniciales de las partes interesadas, lo que a su vez le permite crear la primera versión del conjunto de evaluación
  • Establece una medición de línea base de calidad a partir de la que empezar a iterar

Databricks recomienda compilar la POC con la arquitectura RAG más sencilla y los valores predeterminados recomendados de Databricks para cada parámetro.

Esta recomendación se debe a que hay cientos de combinaciones posibles de parámetros que puede ajustar dentro de la aplicación RAG. Puede dedicar fácilmente semanas a ajustar estas opciones, pero si lo hace antes de poder evaluar sistemáticamente la RAG, termina en lo que se conoce como círculo vicioso de POC, iterando en la configuración, pero sin forma objetiva de saber si ha realizado una mejora, todo mientras las partes interesadas se sientan impacientemente esperando a poder revisar.

Las plantillas de POC de este tutorial están diseñadas teniendo en cuenta la iteración de calidad. Se parametrizan en función de lo que el equipo de investigación de Databricks ha demostrado que es importante ajustar para mejorar la calidad de RAG. Estas plantillas no son "3 líneas de código que hacen mágicamente una RAG", sino que son una aplicación RAG bien estructurada que se puede ajustar para mejorar la calidad en los pasos siguientes de un flujo de trabajo de desarrollo controlado por evaluación.

Esto le permite implementar rápidamente una POC, a la vez que realiza la transición rápidamente a la iteración de calidad sin necesidad de volver a escribir el código.

A continuación se muestra la arquitectura técnica de la aplicación POC:

Arquitectura de aplicaciones POC

Nota:

De manera predeterminada, la POC usa los modelos de código abierto disponibles en Servicio de modelos fundacionales de Mosaic AI. Sin embargo, dado que la POC usa el servicio de modelos de Mosaic AI, que admite cualquier modelo fundacional, el uso de un modelo diferente es fácil; simplemente configure ese modelo en el servicio de modelos y, a continuación, reemplace embedding_endpoint_name y llm_endpoint_name en el cuaderno 00_config.

Pasos para implementar una POC para recopilar comentarios

Los pasos siguientes muestran cómo ejecutar e implementar una aplicación de IA generativa de POC. Después de implementar, obtendrá una dirección URL a la aplicación de revisión que puede compartir con las partes interesadas para recopilar comentarios.

  1. Abra la carpeta de código de la POC en A_POC_app en función del tipo de datos:

    Si los datos no cumplen uno de los requisitos anteriores, puede personalizar la función de análisis (parser_udf) dentro de 02_poc_data_pipeline en los directorios de POC anteriores para trabajar con sus tipos de archivo.

    Dentro de la carpeta POC, verá los siguientes cuadernos:

    Archivos de cuadernos

    Nota:

    Estos cuadernos son relativos a la POC específica que ha elegido. Por ejemplo, si ve una referencia a 00_config y ha elegido pdf_uc_volume, puede encontrar el cuaderno 00_config correspondiente en A_POC_app/pdf_uc_volume/00_config.

  2. De manera opcional, revise los parámetros predeterminados.

    Abra el cuaderno 00_config en el directorio de POC que eligió anteriormente para ver los parámetros predeterminados de las aplicaciones de la POC para la canalización de datos y la cadena RAG.

    Importante

    Los parámetros predeterminados recomendados de Databricks no están diseñados para ser perfectos, pero son un punto de comienzo. Los pasos siguientes de este flujo de trabajo le guían a través de la iteración en estos parámetros.

  3. Valide la configuración.

    Ejecute 01_validate_config para comprobar que la configuración sea válida y que todos los recursos estén disponibles. El archivo rag_chain_config.yaml aparece en el directorio, que se usa para implementar la aplicación.

  4. Ejecute la canalización de datos.

    La canalización de datos de POC es un cuaderno de Databricks basado en Apache Spark. Abra el cuaderno 02_poc_data_pipeline y presione Ejecutar todo para ejecutar la canalización. La canalización hace lo siguiente:

    • Carga los documentos sin procesar desde el volumen UC
    • Analiza cada documento y guarda los resultados en una tabla delta
    • Fragmenta cada documento y guarda los resultados en una tabla delta
    • Inserta los documentos y crea un índice de vectores mediante el vector de búsqueda de Mosaic AI

    Los metadatos, como las tablas de salida y la configuración, sobre la canalización de datos se registran en MLflow:

    GIF para mostrar la canalización de datos

    Puede inspeccionar las salidas buscando vínculos a la salida de tablas delta o índices de vectores cerca de la parte inferior del cuaderno:

    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. Implemente la cadena de POC en la aplicación de revisión.

    La cadena de POC predeterminada es una cadena RAG de conversación multiturno creada con LangChain.

    Nota:

    La cadena de POC usa el registro basado en código de MLflow. Para obtener más información sobre el registro basado en código, consulte Registro de agentes de IA.

    1. Abra el cuaderno 03_deploy_poc_to_review_app

    2. Ejecute cada celda del cuaderno.

    3. El seguimiento de MLflow muestra cómo funciona la aplicación de POC. Ajuste la pregunta de entrada a una que sea relevante para su caso de uso y vuelva a ejecutar la celda para "comprobar el ambiente" de la aplicación.

      GIF que muestra el seguimiento de MLflow

    4. Modifique las instrucciones predeterminadas para que sean relevantes para su caso de uso. Se muestran en la aplicación de revisión.

         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. Ejecute la celda de implementación para obtener un vínculo a la aplicación de revisión.

      Review App URL: https://<your-workspace-url>.databricks.com/ml/review/<uc-catalog>.<uc-schema>.<uc-model-name>/<uc-model-version>
      
  6. Conceda permisos a usuarios individuales para acceder a la aplicación de revisión.

    Puede conceder acceso a usuarios que no son de Databricks siguiendo los pasos descritos en Configuración de permisos para usar la aplicación de revisión.

  7. Pruebe la aplicación de revisión haciendo algunas preguntas usted mismo y proporcionando comentarios.

    Nota:

    Los seguimientos de MLflow y los comentarios del usuario de la aplicación de revisión aparecen en tablas delta en el esquema de catálogo que ha configurado. Los registros pueden tardar hasta 2 horas en aparecer en estas tablas delta.

  8. Compartir la aplicación de revisión con las partes interesadas

    Ahora puede compartir su aplicación RAG de POC con las partes interesadas para obtener sus comentarios.

    Importante

    Databricks sugiere distribuir la POC a al menos tres partes interesadas y hacerles a cada una de ellas de 10 a 20 preguntas. Es importante que varias partes interesadas prueben la POC para que pueda tener un conjunto diverso de perspectivas que se incluirán en el conjunto de evaluación.

Paso siguiente

Continúe con el Paso 3. Seleccionar un conjunto de evaluación de los comentarios de las partes interesadas.

< Anterior: Paso 1. Clonar repositorio y crear proceso

Siguiente: Paso 3. Selección de un conjunto de evaluación >