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.
Requisitos
- Complete el Paso 1. Clonación del repositorio de código y creación de proceso
- Los datos de Requisito previo: recopilación de requisitos están disponibles en su almacén de lago, en un volumen de Unity Catalog.
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:
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
.
- Siga las API de modelos fundacionales de rendimiento aprovisionado para ver otros modelos de código abierto disponibles en Databricks Marketplace.
- Siga el cuaderno Create_OpenAI_External_Model o el artículo Modelos externos en Mosaic AI Model Serving para ver los modelos hospedados de terceros compatibles, como Azure OpenAI, OpenAI, Cohere, Anthropic y Google Gemini.
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.
Abra la carpeta de código de la POC en A_POC_app en función del tipo de datos:
- En el caso de los archivos PDF, use pdf_uc_volume.
- En el caso de los archivos de Powerpoint, use pptx_uc_volume.
- En el caso de los archivos DOCX, use docx_uc_volume.
- Los archivos JSON con texto, markdown, contenido HTML y metadatos, use json_uc_volume.
Si los datos no cumplen uno de los requisitos anteriores, puede personalizar la función de análisis (
parser_udf
) dentro de02_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:
Nota:
Estos cuadernos son relativos a la POC específica que ha elegido. Por ejemplo, si ve una referencia a
00_config
y ha elegidopdf_uc_volume
, puede encontrar el cuaderno00_config
correspondiente en A_POC_app/pdf_uc_volume/00_config.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.
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 archivorag_chain_config.yaml
aparece en el directorio, que se usa para implementar la aplicación.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:
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
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.
Abra el cuaderno
03_deploy_poc_to_review_app
Ejecute cada celda del cuaderno.
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.
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)
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>
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.
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.
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.