o passo 2. implantado POC para coletar feedback das partes interessadas
Ao final deste passo, o senhor terá implantado o Agent Evaluation Review App, que permite que as partes interessadas testem e forneçam feedback sobre seu POC. O logs detalhado do uso de suas partes interessadas e o feedback delas fluirão para as tabelas Delta em seu lakehouse.
![Prova de conceito do aplicativo RAG](../../_images/workflow-poc.png)
Requisitos
Complete o passo 1. Clone o repositório de código e crie compute os passos
Os dados do Prerequisite: A coleta de requisitos está disponível em seu Lakehouse dentro de um volume do Unity Catalog.
Consulte o repositório do GitHub para obter o código de amostra nesta seção.
Prova de conceito do aplicativo RAG
O primeiro passo no desenvolvimento orientado por avaliação é criar uma prova de conceito (POC). Um POC oferece os seguintes benefícios:
Fornece um direcionamento view sobre a viabilidade de seu caso de uso com o RAG
Permite a coleta de feedback inicial das partes interessadas, o que, por sua vez, permite que o senhor crie a primeira versão do seu Conjunto de Avaliação
Estabelece uma medida básica de qualidade para começar a iterar a partir dela
Databricks recomenda que o senhor crie seu POC usando a arquitetura RAG mais simples e Databricks o padrão recomendado para cada parâmetro.
Essa recomendação se deve ao fato de haver centenas de combinações possíveis de parâmetros que o senhor pode ajustar no aplicativo RAG. O senhor pode facilmente passar semanas ajustando-os, mas se fizer isso antes de avaliar sistematicamente o RAG, acabará no que é chamado de loop de desgraça do POC - reiterandoas configurações, mas sem nenhuma maneira de saber objetivamente se fez uma melhoria -, enquanto as partes interessadas aguardam impacientemente a revisão.
O padrão POC deste livro de receitas foi projetado tendo em mente a iteração de qualidade. Eles são parametrizados com base no que a equipe de pesquisa da Databricks demonstrou ser importante ajustar para melhorar a qualidade do RAG. Esses padrões não são "3 linhas de código que magicamente criam um RAG", mas são um aplicativo RAG bem estruturado que pode ser ajustado quanto à qualidade nos passos seguintes de um fluxo de trabalho de desenvolvimento orientado por avaliação.
Isso permite que o senhor implante rapidamente um POC, mas faça uma transição rápida para a iteração de qualidade sem precisar reescrever o código.
abaixo é a arquitetura técnica do aplicativo POC:
![Arquitetura do aplicativo POC](../../_images/poc-app-architecture.png)
Observação
Em default, o POC usa os modelos de código aberto disponíveis em Mosaic AI Foundation servindo modelo. No entanto, como o POC usa o site Mosaic AI Model Serving, que suporta qualquer modelo de fundação, é fácil usar um modelo diferente - basta configurar esse modelo em servindo modelo e, em seguida, substituir o embedding_endpoint_name
e o llm_endpoint_name
no 00_config
Notebook.
Siga o provisionamento Taxa de transferência Foundation Model APIs para outros modelos de código aberto disponíveis no site Databricks Marketplace.
Siga Create_OpenAI_External_Model Notebook ou External models em Mosaic AI Model Serving para modelos hospedados de terceiros compatíveis, como Azure OpenAI, OpenAI, Cohere, Anthropic e Google Gemini.
os passos para implantar um POC para coletar feedback
Os passos a seguir mostram como executar e implantar um aplicativo de AI generativo POC. Depois de implantado, o senhor recebe um URL para o aplicativo de avaliação que pode ser compartilhado com as partes interessadas para coletar feedback.
Abra a pasta do código POC em A_POC_app com base em seu tipo de dados:
Para arquivos PDF, use o pdf_uc_volume.
Para arquivos do Powerpoint, use o pptx_uc_volume.
Para arquivos DOCX, use o docx_uc_volume.
Arquivos JSON com texto, markdown, conteúdo HTML e metadados, use o json_uc_volume
Se seus dados não atenderem a um dos requisitos acima, o senhor poderá personalizar a função de análise (
parser_udf
) em02_poc_data_pipeline
nos diretórios POC acima para trabalhar com seus tipos de arquivo.Dentro da pasta POC, o senhor vê o seguinte Notebook:
Observação
Esses Notebooks são relativos ao POC específico que o senhor escolheu. Por exemplo, se o senhor vir uma referência a
00_config
e tiver escolhidopdf_uc_volume
, poderá encontrar o00_config
relevante Notebook em A_POC_app/pdf_uc_volume/00_config.Opcionalmente, revise os parâmetros do site default.
Abra o
00_config
Notebook no diretório do POC que o senhor escolheu acima para view os parâmetros dos aplicativos do POC default para a cadeia pipeline de dados e RAG.Importante
Os parâmetros recomendados pelo site Databricks default não pretendem ser perfeitos, mas são um ponto de partida. Os próximos passos deste fluxo de trabalho orientam o senhor na iteração desses parâmetros.
Validar a configuração.
Execute o
01_validate_config
para verificar se sua configuração é válida e se todos os recursos estão disponíveis. O arquivorag_chain_config.yaml
aparece no seu diretório e é usado para implantar o aplicativo.execução do pipeline de dados.
O POC pipeline de dados é um Databricks Notebook baseado em Apache Spark. Abra o site
02_poc_data_pipeline
Notebook e pressione Executar tudo para executar o site pipeline. O pipeline faz o seguinte:Carrega os documentos brutos do UC Volume
Analisa cada documento, salvando os resultados em uma tabela Delta
Divide cada documento em partes, salvando os resultados em uma tabela Delta
Incorpora os documentos e cria um índice vetorial usando o Mosaic AI Vector Search
Os metadados, como tabelas de saída e configuração, sobre o pipeline de dados são registrados em MLflow:
O senhor pode inspecionar os resultados procurando links para as tabelas Delta ou índices vetoriais na parte inferior do site 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
implantado a cadeia POC para o aplicativo Review.
A corrente default POC é uma corrente RAG de conversação de várias voltas construída usando LangChain.
Observação
A cadeia POC usa o registro baseado em código MLflow. Para saber mais sobre o registro baseado em código, consulte Registro baseado em código vs. registro baseado em serialização.
Abra o
03_deploy_poc_to_review_app
Notebookexecução de cada célula do site Notebook.
O rastreamento do MLflow mostra ao senhor como o aplicativo POC funciona. Ajuste a pergunta de entrada para uma que seja relevante para o seu caso de uso e reexecute a célula para "verificar a vibração" do aplicativo.
Modifique as instruções do site default para que sejam relevantes para seu caso de uso. Elas são exibidas no aplicativo Review.
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)
Execute a célula de implantação para obter um link para o aplicativo Review.
Review App URL: https://<your-workspace-url>.databricks.com/ml/review/<uc-catalog>.<uc-schema>.<uc-model-name>/<uc-model-version>
Conceda permissões a usuários individuais para acessar o Review App.
O senhor pode conceder acesso a usuários que não sejam doDatabricks seguindo os passos em Configurar permissões para o aplicativo de análise workspace.
Teste o aplicativo Review fazendo você mesmo algumas perguntas e fornecendo feedback.
Observação
Os MLflow Traces e o feedback do usuário do Review App aparecem em Delta Tables no esquema de catálogo que o senhor configurou. logs pode levar até 2 horas para aparecer nas tabelas do site Delta.
Compartilhe o aplicativo Review com as partes interessadas
Agora, o senhor pode compartilhar seu aplicativo POC RAG com as partes interessadas para obter o feedback delas.
Importante
A Databricks sugere distribuir seu POC para pelo menos três partes interessadas e pedir que cada uma delas faça de 10 a 20 perguntas. É importante que várias partes interessadas testem seu POC para que o senhor possa ter um conjunto diversificado de perspectivas para incluir em seu conjunto de avaliação.
Próximo passo
Continuar com o passo 3. Selecionar um Conjunto de Avaliação a partir do feedback das partes interessadas.