A rápida adoção do OpenAI's ChatGPT é evidenciada pelo fato de ter atingido um milhão de usuários em menos de uma semana, ultrapassando os 100 milhões em menos de dois meses. O entusiasmo em torno dessa tecnologia é notável, com usuários de todo o mundo enxergando seu potencial em uma variedade de cenários.
Desafios em Aplicações Empresariais
Ao considerar aplicações empresariais, a pergunta mais comum é: "Como construir algo semelhante ao ChatGPT, mas que utilize meus próprios dados como base para as respostas?" A combinação do Azure Cognitive Search e do Azure OpenAI Service oferece uma solução eficaz para esse cenário. Integrando as características de nível empresarial do Azure, a capacidade do Cognitive Search de indexar, entender e recuperar as informações corretas de seus próprios dados em bases de conhecimento extensas, e a impressionante capacidade do ChatGPT de interagir em linguagem natural para responder perguntas ou participar de conversas.
Neste artigo, descreveremos o padrão de solução mencionado, desde os detalhes da orquestração de conversas e bases de conhecimento até as considerações na experiência do usuário necessárias para ajudar os usuários finais a avaliar as respostas e seus fatos de suporte de maneira apropriada.
Construindo com ChatGPT e Seus Próprios Dados
A interação com grandes modelos de linguagem como o ChatGPT ocorre por meio da linguagem natural, fornecendo ao modelo um "prompt" e solicitando que o complete. No entanto, se você está construindo uma aplicação em que os usuários devem ver respostas com base em seus próprios dados, simplesmente injetar essas informações no prompt pode ser uma abordagem eficaz.
Um desafio surge devido ao limite de "comprimento do contexto" que esses modelos suportam. A abordagem alternativa é manter todos os dados em uma base de conhecimento externa, que pode recuperar informações rapidamente e com boa relevância. A seguir, um exemplo de como isso pode ser implementado:
system
Assistant ajuda os funcionários da Contoso Inc com suas perguntas internas sobre planos de saúde.
user
Meu plano cobre exames anuais de vista?
assistant
O Plano A inclui cobertura para exames anuais de vista e audição. [2]
Gerando Respostas Confiáveis
Assumimos que esses modelos, prompts e sistemas de orquestração não são perfeitos. Portanto, implementamos três experiências simples para ajudar os usuários a validar as respostas:
- Citações: Cada declaração na resposta inclui uma citação com um link para o conteúdo de origem.
- Conteúdo de Suporte: Cada bolha de resposta gerada pelo ChatGPT tem uma opção para exibir todo o conteúdo original fornecido no prompt.
- Processo de Orquestração: Também presente em cada resposta, fornecemos uma opção para ver todo o processo de interação, incluindo resultados intermediários e prompts gerados.
Padrões de Interação Emergentes
Diferentes abordagens para design de prompts, construção de consultas de recuperação e modelos de interação entre componentes estão surgindo rapidamente. Aqui estão alguns pontos de partida para design de prompt e geração de consulta, com referências para quem deseja mais detalhes:
- Recuperar e Ler: Um ponto de partida simples para cenários de pergunta e resposta, onde a pergunta do usuário contém informações suficientes para recuperar candidatos do índice de pesquisa.
- Ler Conteúdo e Contexto antes de Recuperar: Em muitos casos, uma pergunta do usuário sozinha não é suficiente para a recuperação.
- Ações, Ferramentas e Mais: Frequentemente, uma única interação não é o bastante. Decompor respostas em etapas menores aumenta a qualidade e evita certos padrões de erro.
Melhorando a Recuperação da Base de Conhecimento
Dado que as respostas são baseadas no que podemos recuperar da base de conhecimento, a qualidade da recuperação é crucial. Considere:
- Classificação Semântica: O Cognitive Search usa pesquisa por palavra-chave com um modelo probabilístico simples. Ativar a Classificação Semântica melhora a precisão.
- Divisão de Documentos: Ao indexar conteúdo para alimentar cenários ChatGPT, o tamanho certo é fundamental.
- Sumarização: Mesmo após a divisão, você pode querer ajustar o tamanho dos candidatos em um prompt. A sumarização, como o Semantic Captions, é uma opção.
Mais Cenários e Experimentações
Este artigo abordou cenários de conversação e perguntas e respostas combinando ChatGPT com Azure Cognitive Search. Há outras maneiras de combinar Azure OpenAI Service e Cognitive Search para melhorar cenários existentes ou viabilizar novos. Planejamos continuar a fornecer orientações e exemplos para ilustrar como realizar muitos desses cenários.
Experimente hoje, em seus próprios dados ou nos nossos. O contém exemplos e uma UX completa mostrada neste artigo, que pretendemos expandir continuamente para cobrir mais cenários.
Estamos animados com a perspectiva de cenários aprimorados e novos possíveis com modelos de linguagem avançados combinados com tecnologia de recuperação de informações. Mal podemos esperar para ver o que você construirá com Azure OpenAI e Azure Cognitive Search.