Este repositório fornece código de exemplo para melhorar aplicativos RAG com fontes de dados avançadas, incluindo SQL Warehouses e documentos analisados com o Azure Document Intelligence.
Pretende-se que os plugins e habilidades fornecidos neste repositório sejam adaptados e adicionados ao seu aplicativo RAG novo ou existente para melhorar a qualidade da resposta.
Importante
uv
para gerenciar dependências e utilitários comuns. Consulte uv para obter mais detalhes sobre como começar. ./text_2_sql
contém três implementações Multi-Shot para geração e consulta Text2SQL que podem ser usadas para responder perguntas apoiadas por um banco de dados como base de conhecimento. São mostradas uma abordagem baseada em prompt e baseada em vetor , ambas exibindo ótimo desempenho na resposta a consultas SQL. Além disso, é mostrada uma iteração adicional na abordagem baseada em vetores que usa um cache de consulta para acelerar ainda mais a geração. Com esses plug-ins, seu aplicativo RAG agora pode acessar e extrair dados de qualquer tabela SQL exposta a ele para responder perguntas../adi_function_app
contém código para vincular o Azure Document Intelligence ao AI Search para processar documentos complexos com gráficos e imagens e usa modelos multimodais (gpt4o) para interpretá-los e compreendê-los. Com essa habilidade personalizada, o aplicativo RAG pode extrair insights de gráficos e imagens complexos durante a pesquisa vetorial. Este aplicativo de função também contém um método de fragmentação de texto semântico que visa agrupar frases semelhantes de forma inteligente, mantendo figuras e tabelas juntas, enquanto separa frases distintas../deploy_ai_search
fornece um utilitário fácil baseado em Python para implantar um índice, indexador e conjunto de habilidades correspondente para AI Search e para Text2SQL.Os componentes acima foram utilizados com sucesso em projetos de produção RAG para aumentar a qualidade das respostas.
O código fornecido neste repositório é uma amostra da implementação e deve ser ajustado antes de ser utilizado na produção.
O diagrama a seguir mostra um fluxo de trabalho de como o plugin Text2SQL e AI Search seriam incorporados em um aplicativo RAG. Usando os plug-ins disponíveis, juntamente com os recursos de chamada de função dos LLMs, o LLM pode fazer o raciocínio da cadeia de pensamento para determinar as etapas necessárias para responder à pergunta. Isso permite que o LLM reconheça a intenção e, portanto, escolha fontes de dados apropriadas com base na intenção da pergunta ou em uma combinação de ambas.
Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um Contrato de Licença de Colaborador (CLA), declarando que você tem o direito de nos conceder, e realmente nos concede, os direitos de uso de sua contribuição. Para obter detalhes, visite https://cla.opensource.microsoft.com.
Quando você envia uma solicitação pull, um bot CLA determinará automaticamente se você precisa fornecer um CLA e decorará o PR adequadamente (por exemplo, verificação de status, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios usando nosso CLA.
Este projeto adotou o Código de Conduta de Código Aberto da Microsoft. Para obter mais informações, consulte as Perguntas frequentes sobre o Código de Conduta ou entre em contato com [email protected] com perguntas ou comentários adicionais.
Este projeto pode conter marcas registradas ou logotipos de projetos, produtos ou serviços. O uso autorizado de marcas registradas ou logotipos da Microsoft está sujeito e deve seguir as Diretrizes de Marcas Registradas e Marcas da Microsoft. O uso de marcas registradas ou logotipos da Microsoft em versões modificadas deste projeto não deve causar confusão nem implicar patrocínio da Microsoft. Qualquer uso de marcas registradas ou logotipos de terceiros está sujeito às políticas desses terceiros.