Perguntas Frequentes do Pesquisa de IA do Azure

Encontre respostas às perguntas mais frequentes sobre o Pesquisa de IA do Azure.

Geral

O que é o Pesquisa de IA do Azure?

O Pesquisa de IA do Azure disponibiliza um motor de busca dedicado e armazenamento persistente do seu conteúdo pesquisável para cenários de pesquisa agente, texto completo e vetorial. Inclui também IA integrada opcional para extrair texto e estrutura de conteúdo bruto e para segmentar e vetorizar conteúdo para pesquisa vetorial.

Como posso trabalhar com o Pesquisa de IA do Azure?

O fluxo de trabalho principal é criar, carregar e consultar um índice. Embora possas usar o portal do Azure para a maioria das tarefas, o Pesquisa de IA do Azure destina-se a ser usado de forma programática, tratando pedidos do código do cliente. O suporte programático é fornecido através de APIs REST e bibliotecas de clientes em .NET, Python, Java e SDKs JavaScript para Azure.

Será que "Azure Search", "Azure Cognitive Search" e "Pesquisa de IA do Azure" são o mesmo produto?

Sim. São todos o mesmo produto, com rebranding a ocorrer em outubro de 2019 e novamente em outubro de 2023. Pode ocasionalmente ver evidências dos nomes anteriores ao nível programático.

Que linguagens são suportadas?

Para os vetores, os modelos de embedding que usas determinam a experiência linguística.

Para cadeias e números não vetoriais, o analisador padrão usado para tokenização é o Lucene padrão, que é independente da linguagem. Caso contrário, o suporte à linguagem é expresso através de analisadores de linguagem que aplicam regras linguísticas a conteúdos de entrada (indexação) e de saída (consultas). Algumas funcionalidades, como speller e query rewrite, estão limitadas a um subconjunto de línguas.

Como é que integro a pesquisa na minha solução?

O código do cliente deve chamar as bibliotecas do SDK do Azure ou APIs REST para se ligar a um índice de pesquisa, formular consultas e tratar das respostas. Também pode escrever código que constrói e atualize um índice, ou que execute indexadores programaticamente ou via script.

Posso pausar o serviço e parar de faturar?

Não podes pausar um serviço de pesquisa. No Pesquisa de IA do Azure, os recursos computacionais são alocados quando o serviço é criado. Não é possível libertar e recuperar esses recursos a pedido.

Posso fazer um upgrade ou um downgrade do serviço?

Os serviços criados antes de abril de 2024 em regiões selecionadas podem ser atualizados para clusters de maior capacidade. Não é possível fazer downgrade do seu serviço.

Para obter mais ou menos capacidade, também pode mudar para um escalão de preços diferente. A escalabilidade é bloqueada se a configuração atual do seu serviço exceder os limites do tier alvo ou se a sua região tiver restrições de capacidade no tier alvo. Atualmente, só podes alternar entre os níveis Básico e Padrão (S1, S2 e S3).

Posso renomear ou mudar o serviço?

O nome e a região do serviço são fixos durante toda a vida útil do serviço.

Se migrar o meu serviço de pesquisa para outra subscrição ou grupo de recursos, devo esperar algum tempo de inatividade?

Desde que sigas a lista de verificação antes de mover recursos e garantas que cada etapa está concluída, não deverá haver tempo de inatividade.

Porque é que vejo limites de armazenamento diferentes para serviços de pesquisa do mesmo nível?

Os limites de armazenamento podem variar consoante a data de criação do serviço. Na maioria das regiões suportadas, os serviços mais recentes têm limites de armazenamento mais elevados do que os mais antigos, mesmo que estejam no mesmo nível. No entanto, pode conseguir atualizar o seu serviço antigo para aceder aos novos limites.

Indexação

O que significa "indexação" no Pesquisa de IA do Azure?

Refere-se à ingestão, análise e armazenamento de conteúdo textual e tokens que preenchem um índice de pesquisa. A indexação cria índices invertidos e outras estruturas físicas de dados que suportam a recuperação de informação.

Cria índices vetoriais se o esquema incluir campos vetoriais.

Posso mover, fazer backup e restaurar índices?

Não há suporte nativo para portar índices. Os índices de pesquisa são considerados estruturas de dados a jusante, aceitando conteúdos de outras fontes de dados que recolhem dados operacionais. Portanto, não há suporte incorporado para fazer backup e restaurar índices. A expectativa é que se reconstrua um índice a partir dos dados de origem se este fosse eliminado ou precisasse de ser movido.

No entanto, se quiseres mover um índice entre serviços de pesquisa, podes tentar o exemplo de código de backup e restauro para .NET ou Python.

Posso restaurar o meu índice ou serviço depois de ele ser eliminado?

Não. Se apagar um índice ou serviço do Pesquisa de IA do Azure, não pode ser recuperado. Quando elimina um serviço de pesquisa, todos os índices do serviço são eliminados permanentemente.

Posso indexar a partir de réplicas da base de dados SQL?

Se estiver a usar o indexador de pesquisa do Base de Dados SQL do Azure, não há restrições quanto ao uso de réplicas primárias ou secundárias como fonte de dados ao construir um índice do zero. No entanto, atualizar um índice com atualizações incrementais (com base em registos alterados) requer a réplica primária. Este requisito vem do SQL Database, que garante o acompanhamento de alterações apenas nas réplicas primárias. Se tentares usar réplicas secundárias para uma carga de atualização de índice, não há garantia de que obtenhas todos os dados.

Vetores

O que é a pesquisa vetorial?

A pesquisa vetorial é uma técnica que encontra os documentos mais semelhantes comparando as suas representações vetoriais. Como o objetivo de uma representação vetorial é captar as características essenciais de um item num formato numérico, as consultas vetoriais podem identificar conteúdos semelhantes, mesmo que não existam correspondências explícitas baseadas em palavras-chave ou etiquetas.

Quando um utilizador realiza uma pesquisa, a consulta é resumida numa representação vetorial, e o motor de busca vetorial identifica os documentos mais semelhantes. Para melhorar a eficiência em grandes bases de dados, a pesquisa vetorial frequentemente fornece os Vizinhos Aproximados Mais Próximos (ANN) para um vetor de consulta. Para mais informações, veja Pesquisa vetorial em Pesquisa de IA do Azure.

O Pesquisa de IA do Azure suporta pesquisa vetorial?

O Pesquisa de IA do Azure suporta indexação vetorial e recuperação. Pode segmentar e vetorizar cadeias de consultas e conteúdos se usar vetorização integrada, que depende de indexadores e conjuntos de competências.

Como funciona a pesquisa vetorial no Pesquisa de IA do Azure?

Com a pesquisa vetorial autónoma, utiliza-se primeiro um modelo de embedding para transformar conteúdo numa representação vetorial dentro de um espaço de embedding. Pode então fornecer estes vetores numa carga útil de documento ao índice de pesquisa para indexação. Para servir pedidos de pesquisa, utiliza-se o mesmo modelo de embedding para transformar a consulta de pesquisa numa representação vetorial, e a pesquisa vetorial encontra os vetores mais semelhantes e devolve os documentos correspondentes.

No Pesquisa de IA do Azure, pode indexar dados vetoriais como campos em documentos juntamente com texto e outros tipos de conteúdo. Existem vários tipos de dados para campos vetoriais.

As consultas vetoriais podem ser emitidas de forma independente ou em combinação com outros tipos de consultas, incluindo consultas de termos e filtros no mesmo pedido de pesquisa.

O Pesquisa de IA do Azure pode vectorizar o meu conteúdo ou consultas?

A vetorização integrada incorporada está agora geralmente disponível.

O meu serviço de pesquisa suporta pesquisa vetorial?

A maioria dos serviços existentes suporta pesquisa vetorial. Se estiver a usar um pacote ou API que suporta pesquisa vetorial e a criação de índices falhar, o serviço de pesquisa subjacente não suporta pesquisa vetorial e um novo serviço terá de ser criado. Isto pode ocorrer para um pequeno subconjunto de serviços criados antes de 1 de janeiro de 2019.

Posso adicionar pesquisa vetorial a um índice existente?

Se o seu serviço de pesquisa suportar pesquisa vetorial, tanto os índices existentes como os novos podem acomodar campos vetoriais.

Porque é que vejo limites diferentes de tamanho de índice vetorial entre os meus novos serviços de pesquisa e os serviços de pesquisa existentes?

Pesquisa de IA do Azure implementou limites melhorados de tamanho do índice vetorial em todo o mundo para novos serviços de pesquisa, mas algumas regiões enfrentam restrições de capacidade, e algumas regiões não dispõem da infraestrutura necessária. Novos serviços de pesquisa criados após maio de 2024 em regiões suportadas deverão ver limites de tamanho de índice vetorial aumentados. Alternativamente, se tiver um serviço existente numa região suportada, poderá atualizar o seu serviço para aceder aos novos limites.

Porque é que o meu índice vetorial mostra armazenamento zero?

Apenas índices vetoriais que utilizam o algoritmo Hierarchical Navigable Small World (HNSW) reportam o tamanho do índice vetorial no portal Azure. Se o seu índice usar KNN exaustiva, o tamanho do índice vetorial é reportado como zero, mesmo que o índice contenha vetores.

Como posso ativar a pesquisa vetorial num índice de pesquisa?

Para permitir a pesquisa vetorial num índice:

  • Adicione um ou mais campos vetoriais a uma coleção de campos.

  • Adicione uma secção "vectorSearch" ao esquema de índice especificando a configuração usada pelos campos de pesquisa vetorial, incluindo os parâmetros do algoritmo ANN utilizado, como o HNSW.

  • Use a versão mais recente da API REST estável ou um SDK do Azure para criar ou atualizar o índice, carregar documentos e emitir consultas. Para mais informações, veja Criar um índice vetorial.

Consultas

Onde ocorre a execução de consultas?

As consultas são executadas sobre um único índice de pesquisa alojado no seu serviço de pesquisa. Não podes juntar múltiplos índices para pesquisar conteúdos em dois ou mais índices, mas podes consultar índices com o mesmo nome em múltiplos serviços de pesquisa.

Porque é que não há correspondências em termos que sei serem válidos?

O caso mais comum é não saber que cada tipo de consulta suporta diferentes comportamentos de pesquisa e níveis de análise linguística. A pesquisa em texto completo, que é a principal carga de trabalho, inclui uma fase de análise linguística que decompõe termos em formas raiz. Este aspeto da análise sintática de consultas abrange uma rede mais ampla sobre possíveis correspondências, porque o termo tokenizado corresponde a um maior número de variantes.

No entanto, as consultas coringa, fuzzy e regex não são analisadas como as consultas normais de termos ou frases e podem resultar em um desempenho de recuperação insuficiente se a consulta não corresponder à forma analisada do termo no índice de pesquisa. Para mais informações sobre análise sintática e análise de consultas, veja Pesquisa em texto completo em Pesquisa de IA do Azure.

Porque é que as minhas pesquisas coringa são lentas?

A maioria das consultas de pesquisa coringa, como prefixo, fuzzy e regex, são reescritas internamente com termos correspondentes no índice de pesquisa. Este processamento extra aumenta a latência. Além disso, consultas de pesquisa amplas, como a*, são propensas a serem reescritas com muitos termos, o que pode ser lento. Para pesquisas coringa de desempenho, considere definir um analisador personalizado.

Posso pesquisar em vários índices?

Não. Uma consulta é sempre encaminhada para um único índice.

Porque é que a pontuação de pesquisa é constante de 1,0 para cada correspondência?

As pontuações de pesquisa são geradas para consultas de pesquisa em texto completo com base nas propriedades estatísticas dos termos correspondentes e estão ordenadas do maior para o mais baixo no conjunto de resultados. Os tipos de consulta que não são pesquisa em texto completo (caracteres curinga, prefixo, regex) não são classificados por uma pontuação de relevância. Uma pontuação constante permite que correspondências encontradas através da expansão da consulta sejam incluídas nos resultados sem afetar a classificação.

Por exemplo, suponha que uma entrada de "tour*" numa pesquisa wildcard produz correspondências em "tours", "tourettes" e "tourmalina". Dada a natureza destes resultados, não há forma razoável de inferir quais os termos mais valiosos do que outros. Por esta razão, as frequências dos termos são ignoradas ao pontuar resultados em consultas dos tipos curinga, prefixo e regex. Os resultados de pesquisa baseados num input parcial recebem uma pontuação constante para evitar viés em relação a correspondências potencialmente inesperadas.

Segurança

Onde é que o Pesquisa de IA do Azure armazena os dados dos clientes?

Armazena os seus dados na geografia (Geo) onde o seu serviço está implantado. A Microsoft pode replicar os seus dados dentro do mesmo geo para maior disponibilidade e durabilidade. Para mais informações, consulte Residência de dados em Azure.

O Pesquisa de IA do Azure envia dados de clientes para outros serviços para processamento?

Sim. Skills e vectorizadores fazem chamadas de saída de Pesquisa de IA do Azure para outros dos recursos Azure ou modelos externos que especifica para incorporação ou chat. As chamadas a essas APIs normalmente contêm conteúdo bruto a processar ou consultas vetorizadas por um modelo de embedding. Para ligações Azure-para-Azure, o serviço envia pedidos através da rede interna. Se adicionares uma skill personalizada ou vetorizador, o indexador envia conteúdo para o URI fornecido na skill personalizada através da rede pública, a menos que configures um link privado partilhado.

O Pesquisa de IA do Azure processa dados de clientes noutras regiões?

O processamento (vetorização ou transformações aplicadas de IA) é realizado na Geo que aloja o subserviço Foundry Tools usado pelas competências, nas aplicações ou funções do Azure que alojam competências personalizadas, ou na região Azure OpenAI ou Microsoft Foundry que aloja os seus modelos implementados. Estes recursos são especificados por ti, por isso podes escolher se os implementas na mesma Geo do teu serviço de pesquisa ou não.

Se enviar dados para modelos ou serviços externos (não Azure), a localização de processamento é determinada pelo serviço externo.

Posso controlar o acesso aos resultados de pesquisa com base na identidade do utilizador?

Podes conseguir se implementares uma solução que associe documentos à identidade de um utilizador. Normalmente, os utilizadores autorizados a executar a sua aplicação também estão autorizados a ver todos os resultados de pesquisa. Pesquisa de IA do Azure não tem suporte incorporado para permissões ao nível da linha ou do documento, mas podes implementar filtros segurança como solução alternativa. Para passos e script, veja Comece: Converse usando os seus próprios dados (Python exemplo).

Posso controlar o acesso às operações com base na identidade do utilizador?

Sim. Pode usar autorização baseada em funções para operações de camada de dados sobre conteúdo.

Posso usar o portal do Azure para visualizar e gerir conteúdos de pesquisa se o meu serviço de pesquisa estiver atrás de um firewall IP ou endpoint privado?

Pode usar o portal Azure num serviço de pesquisa protegido por rede se criar uma exceção de rede que permita o acesso ao cliente e ao portal. Para mais informações, consulte Conectar através de um firewall IP ou Conectar através de um endpoint privado.

Próximos passos

Se a sua pergunta não for respondida aqui, pode consultar as seguintes fontes para mais perguntas e respostas.

Stack Overflow: Pesquisa de IA do Azure
Como funciona a pesquisa em texto completo em Pesquisa de IA do Azure
O que é Pesquisa de IA do Azure?