Compartilhar via


Tutorial: Escolher modelos de inserção e chat para RAG na Pesquisa de IA do Azure

Uma solução de RAG criada na Pesquisa de IA do Azure usa uma dependência de inserção de modelos para vetorização e em modelos de chat para pesquisa de conversa sobre seus dados.

Neste tutorial, você:

  • Saiba quais modelos na nuvem do Azure funcionam com a integração interna
  • Saiba mais sobre os modelos do Azure usados para chat
  • Implantar modelos e coletar informações de modelo para seu código
  • Configurar o acesso do mecanismo de pesquisa aos modelos do Azure
  • Saiba mais sobre as habilidades personalizadas e os vetorizadores para anexar modelos que não são do Azure

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

  • O portal do Azure, usado para implantar modelos e configurar atribuições de função na nuvem do Azure.

  • Uma função de Proprietário ou Administrador de Acesso de Usuário em sua assinatura do Azure, necessária para a criação de atribuições de função. Você usa pelo menos três recursos do Azure neste tutorial. As conexões são autenticadas usando o Microsoft Entra ID, que requer a capacidade de criar funções. As atribuições de função para se conectar a modelos estão documentadas neste artigo. Se você não conseguir criar funções, poderá usar chaves de API em vez disso.

  • Um provedor de modelos, como o OpenAI do Azure, a Visão de IA do Azure por meio de um recurso de vários serviços de IA do Azure ou o Azure AI Foundry.

    Usamos o OpenAI do Azure neste tutorial. Outros provedores são listados para que você conheça as respectivas opções de vetorização integrada.

  • A Pesquisa de IA do Azure, a camada Básica ou superior fornece uma identidade gerenciada usada em atribuições de função.

  • Uma região compartilhada. Para que você conclua todos os tutoriais desta série, a região precisa dar suporte à Pesquisa de IA do Azure e ao provedor de modelos. Confira as regiões com suporte para:

    No momento, a Pesquisa de IA do Azure está enfrentando disponibilidade limitada em algumas regiões. Para confirmar o status da região, verifique a lista de regiões da Pesquisa de IA do Azure.

Dica

Verifique este artigo para obter uma lista de regiões sobrepostas.

Revisar os modelos que dão suporte à vetorização interna

O conteúdo vetorizado aprimora os resultados da consulta em uma solução de RAG. A Pesquisa de IA do Azure dá suporte a uma ação de vetorização interna em um pipeline de indexação. Ele também dá suporte à vetorização em tempo de consulta, convertendo entradas de texto ou imagem em inserções para uma busca em vetores. Nesta etapa, identifique um modelo de inserção que funcione para seu conteúdo e suas consultas. Se você estiver fornecendo dados de vetor brutos e consultas de vetor brutas ou se a sua solução de RAG não incluir dados de vetor, ignore esta etapa.

As consultas de vetor que incluem uma etapa de conversão de texto para vetor precisam usar o mesmo modelo de inserção usado durante a indexação. O mecanismo de pesquisa não vai gerar um erro se você usar modelos diferentes, mas você obterá resultados ruins.

Para atender ao requisito do mesmo modelo, escolha os modelos de inserção que podem ser referenciados por meio de habilidades durante a indexação e por meio de vetorizadores durante a execução da consulta. A tabela a seguir lista os pares de habilidade e vetorizador. Para ver como os modelos de inserção são usados, pule para Criar um pipeline de indexação para o código que chama uma habilidade de inserção e um vetor correspondente.

A Pesquisa de IA do Azure fornece suporte a habilidades e vetorizadores para os modelos de inserção a seguir na nuvem do Azure.

Cliente Inserir modelos Habilidade Vetorizador
OpenAI do Azure text-embedding-ada-002,
text-embedding-3-large,
text-embedding-3-small
AzureOpenAIEmbedding AzureOpenAIEmbedding
Visão de IA do Azure multimodal 4.0 1 AzureAIVision AzureAIVision
Catálogo de modelos do Azure AI Foundry Facebook-DinoV2-Image-Embeddings-ViT-Base,
Facebook-DinoV2-Image-Embeddings-ViT-Giant,
Cohere-embed-v3-english,
Cohere-embed-v3-multilingual
AML 2 Catálogo de modelos do Azure AI Foundry

1 Dá suporte à vetorização de imagem e texto.

2 Os modelos implantados no catálogo de modelos são acessados em um ponto de extremidade do AML. Usamos a habilidade do AML existente para essa conexão.

Você pode usar outros modelos além dos listados aqui. Para obter mais informações, confira Usar modelos que não são do Azure para inserções neste artigo.

Observação

Normalmente, as entradas em modelos de inserção são dados em partes. Em um padrão de RAG da Pesquisa de IA do Azure, o agrupamento é tratado no pipeline do indexador, abordado em outro tutorial desta série.

Revisar os modelos usados para a IA generativa no momento da consulta

A Pesquisa de IA do Azure não tem um código de integração para modelos de chat. Portanto, você deve escolher um LLM com o qual esteja familiarizado e que atenda às suas necessidades. Você pode modificar o código de consulta para experimentar modelos diferentes sem precisar recriar um índice ou executar novamente qualquer parte do pipeline de indexação. Confira Pesquisar e gerar respostas para ver um código que chama o modelo de chat.

Os seguintes modelos são comumente usados para uma experiência de pesquisa de chat:

Cliente Modelos de chat
OpenAI do Azure GPT-35-Turbo,
GPT-4,
GPT-4o,
GPT-4 Turbo

Os modelos GPT-35-Turbo e GPT-4 são otimizados para funcionar com entradas formatadas como uma conversa.

Usamos GPT-4o neste tutorial. Durante o teste, descobrimos que ele tem menor probabilidade de complementar com dados de treinamento próprios. Por exemplo, dada a consulta "quanto da Terra está coberta por água?", o GPT-35-Turbo respondeu usando seu conhecimento interno da Terra para afirmar que 71% da Terra está coberta por água, mesmo que os dados de exemplo não forneçam esse fato. Por outro lado, o GPT-4o respondeu (corretamente) com "Eu não sei".

Implantar modelos e coletar informações

Os modelos precisam ser implantados e estar acessíveis por meio de um ponto de extremidade. As habilidades relacionadas à inserção e os vetorizadores precisam do número de dimensões e do nome do modelo.

Esta série de tutoriais usa os seguintes modelos e provedores de modelos:

  • Text-embedding-3-large no OpenAI do Azure para inserções
  • GPT-4o no OpenAI do Azure para preenchimento de chat

Você precisa ter a função Colaborador do OpenAI dos Serviços Cognitivos ou superior para implantar modelos no OpenAI do Azure.

  1. Vá para o Azure AI Foundry.

  2. Selecione Implantações no menu à esquerda.

  3. Selecione Implantar modelo>Implantar modelo base.

  4. Selecione text-embedding-3-large na lista suspensa e confirme a seleção.

  5. Especifique um nome de implantação. Recomendamos "text-embedding-3-large".

  6. Aceite os padrões.

  7. Selecione Implantar.

  8. Repita as etapas anteriores para gpt-4o.

  9. Anote os nomes do modelo e o ponto de extremidade. As habilidades de inserção e os vetorizadores montam o ponto de extremidade completo internamente. Portanto, você só precisa do URI do recurso. Por exemplo, considerando https://MY-FAKE-ACCOUNT.openai.azure.com/openai/deployments/text-embedding-3-large/embeddings?api-version=2024-06-01, o ponto de extremidade que você deve fornecer nas definições de habilidade e vetorizador é https://MY-FAKE-ACCOUNT.openai.azure.com.

Configurar o acesso do mecanismo de pesquisa aos modelos do Azure

Para a execução de pipeline e consulta, este tutorial usa o Microsoft Entra ID para autenticação e funções para autorização.

Atribua a si mesmo e à identidade do serviço de pesquisa as permissões do OpenAI do Azure. O código deste tutorial é executado localmente. As solicitações para o OpenAI do Azure são originadas do seu sistema. Além disso, os resultados da pesquisa do mecanismo de pesquisa são passados para o OpenAI do Azure. Por esses motivos, você e o serviço de pesquisa precisam de permissões no OpenAI do Azure.

  1. Entre no portal do Azure e localize o serviço de pesquisa.

  2. Configure a Pesquisa de IA do Azure para usar uma identidade gerenciada pelo sistema.

  3. Encontre seu recurso do OpenAI do Azure.

  4. Selecione Controle de acesso (IAM) no menu à esquerda.

  5. Selecione Adicionar atribuição de função.

  6. Selecione Usuário do OpenAI dos Serviços Cognitivos.

  7. Selecione Identidade gerenciada e, em seguida, Membros. Localize a identidade gerenciada pelo sistema para seu serviço de pesquisa na lista suspensa.

  8. Em seguida, escolha Usuário, grupo ou entidade de serviço e Membros. Pesquise sua conta de usuário e selecione-a na lista suspensa.

  9. Verifique se você tem duas entidades de segurança atribuídas à função.

  10. Escolha Revisar e Atribuir para criar as atribuições de função.

Para obter acesso a modelos da Visão de IA do Azure, atribua Usuário do OpenAI dos Serviços Cognitivos. Para o Azure AI Foundry, atribua o Desenvolvedor de IA do Azure.

Usar modelos que não são do Azure para inserções

O padrão para integrar qualquer modelo de inserção é empacotá-lo em uma habilidade e em um vetorizador personalizados. Esta seção traz links para artigos de referência. Para ver um exemplo de código que chama um modelo que não é do Azure, confira Demonstração de inserções personalizadas.

Cliente Inserir modelos Habilidade Vetorizador
Qualquer Qualquer Habilidade personalizada vetorizador personalizado

Próxima etapa