Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
Pesquisa de IA do Azure está disponível por meio do portal Azure, APIs REST e SDKs do Azure. Ele também sustenta o IQ do Foundry, a camada de conhecimento gerenciado que transforma o conteúdo da empresa em bases de conhecimento reutilizáveis e com reconhecimento de permissão para agentes no portal do Microsoft Foundry.
A pesquisa híbrida é uma solicitação de consulta única configurada para consultas de texto completo e vetor. Ele é executado em um índice de pesquisa que contém conteúdo pesquisável de texto sem formatação e inserções geradas. Para fins de consulta, pesquisa híbrida:
- É uma única solicitação de consulta que inclui ambos parâmetros de consulta
searchevectorQueries. - Executa a pesquisa de texto completo e a pesquisa de vetor em paralelo.
- Mescla os resultados de cada consulta usando o RRF (Reciprocal Rank Fusion).
Este artigo explica os conceitos, os benefícios e as limitações da pesquisa híbrida. Os links no final fornecem instruções de uso e as próximas etapas. Você também pode assistir ao vídeo inserido para obter uma explicação de como a recuperação híbrida contribui para aplicativos de pesquisa gerativos de alta qualidade.
Por que usar a pesquisa híbrida?
A pesquisa híbrida combina os pontos fortes da busca em vetores e da pesquisa por palavras-chave. A vantagem da busca em vetores é encontrar informações conceitualmente semelhantes à consulta de pesquisa, mesmo que não haja correspondências de palavra-chave no índice invertido. A vantagem da palavra-chave ou da pesquisa de texto completo é a precisão, com a capacidade de aplicar a classificação semântica opcional que melhora a qualidade dos resultados iniciais. Alguns cenários, como consultar códigos de produto, jargões altamente especializados, datas e nomes de pessoas, têm um desempenho melhor com a pesquisa de palavras-chave, pois podem identificar correspondências exatas.
Os testes de parâmetro de comparação em conjuntos de dados de parâmetro de comparação e do mundo real indica que a recuperação híbrida com o classificador semântico oferece benefícios importantes na relevância da pesquisa.
O vídeo a seguir explica como a recuperação híbrida fornece dados de fundamentação ideais para gerar respostas de IA úteis.
Como funciona a pesquisa híbrida?
Em um índice de pesquisa, os campos de vetor que contêm inserções coexistem com campos textuais e numéricos. Você pode formular consultas híbridas que são executadas simultaneamente. As consultas híbridas aproveitam a funcionalidade baseada em texto existente, como filtragem, faceta, classificação, perfis de pontuação e classificação semântica em seus campos de texto, enquanto executam uma pesquisa de similaridade em relação a vetores em uma única solicitação de pesquisa.
A pesquisa híbrida combina resultados de consultas de texto completo e de vetores, que utilizam diferentes funções de classificação, como BM25 para texto e HNSW (Hierarchical Navigable Small World) e eKNN (Exhaustive K-Nearest Neighbors) para vetores. Um algoritmo RRF mescla os resultados. A resposta da consulta fornece apenas um conjunto de resultados, usando RRF para classificar os resultados unificados.
Estrutura de uma consulta híbrida
A pesquisa híbrida depende de um índice de pesquisa que contém campos de vários tipos de dados, incluindo texto sem formatação e números, coordenadas geográficas se você quiser que a pesquisa geoespacial e os vetores representem matematicamente uma parte do texto. Você pode usar quase todos os recursos de consulta no Pesquisa de IA do Azure com uma consulta vetorial, exceto para interações de texto puro do lado do cliente, como preenchimento automático e sugestões.
Uma consulta híbrida representativa pode ser semelhante à seguinte. Para fins de brevidade, as consultas de vetor têm valores de espaço reservado.
POST https://{{searchServiceName}}.search.windows.net/indexes/hotels-vector-quickstart/docs/search?api-version=2026-04-01
content-type: application/JSON
{
"count": true,
"search": "historic hotel walk to restaurants and shopping",
"select": "HotelId, HotelName, Category, Description, Address/City, Address/StateProvince",
"filter": "geo.distance(Location, geography'POINT(-77.03241 38.90166)') le 300",
"vectorFilterMode": "postFilter",
"facets": [ "Address/StateProvince"],
"vectorQueries": [
{
"kind": "vector",
"vector": [ <array of embeddings> ],
"k": 50,
"fields": "DescriptionVector",
"exhaustive": true,
"oversampling": 20
},
{
"kind": "vector",
"vector": [ <array of embeddings> ],
"k": 50,
"fields": "Description_frVector",
"exhaustive": false,
"oversampling": 10
}
],
"skip": 0,
"top": 10,
"queryType": "semantic",
"queryLanguage": "en-us",
"semanticConfiguration": "my-semantic-config"
}
Pontos principais:
-
searchespecifica uma única consulta de pesquisa de texto completo. -
vectorQueriesespecifica consultas de vetor, que podem ser múltiplas, direcionando vários campos de vetor. Se o espaço de inserção incluir conteúdo multilíngue, as consultas vetoriais poderão encontrar a correspondência sem nenhum analisador de idioma ou tradução necessária. Se você estiver usando o classificador semântico, definakcomo 50 para maximizar suas entradas. -
selectespecifica quais campos retornar em resultados, que devem ser campos de texto legíveis por humanos se você os estiver mostrando aos usuários ou enviando-os para um LLM (modelo de linguagem grande). -
filterpode especificar a pesquisa geoespacial ou outros critérios de inclusão e exclusão, como se o estacionamento está incluído. A consulta geoespacial neste exemplo encontra hotéis dentro de um raio de 300 quilômetros de Washington, D.C. Você pode aplicar o filtro no início ou no final do processamento de consulta. Se você estiver usando o classificador semântico, provavelmente desejará a pós-filtragem como a última etapa, mas você deve testar para confirmar qual comportamento é melhor para suas consultas. -
facetspodem ser usados para calcular buckets de faceta sobre resultados retornados de consultas híbridas. -
queryType=semanticinvoca o classificador semântico, aplicando a compreensão de leitura do computador para exibir resultados de pesquisa mais relevantes. A classificação semântica é opcional. Se você não estiver usando esse recurso, remova as três últimas linhas da consulta híbrida.
Filtros e facetas direcionam estruturas de dados dentro do índice que são distintas dos índices invertidos usados para pesquisa de texto completo e dos índices de vetor usados para pesquisa de vetor. Dessa forma, quando filtros e operações facetadas são executadas, o mecanismo de pesquisa pode aplicar o resultado operacional aos resultados da pesquisa híbrida na resposta.
Observe como não há orderby na consulta. As ordens de classificação explícitas substituem os resultados classificados por relevância, portanto, se você quiser similaridade e relevância BM25, omita a classificação em sua consulta.
Uma resposta da consulta pode ser semelhante ao JSON a seguir.
{
"@odata.count": 3,
"@search.facets": {
"Address/StateProvince": [
{
"count": 1,
"value": "NY"
},
{
"count": 1,
"value": "VA"
}
]
},
"value": [
{
"@search.score": 0.03333333507180214,
"@search.rerankerScore": 2.5229012966156006,
"HotelId": "49",
"HotelName": "Swirling Currents Hotel",
"Description": "Spacious rooms, glamorous suites and residences, rooftop pool, walking access to shopping, dining, entertainment and the city center.",
"Category": "Luxury",
"Address": {
"City": "Arlington",
"StateProvince": "VA"
}
},
{
"@search.score": 0.032522473484277725,
"@search.rerankerScore": 2.111117362976074,
"HotelId": "48",
"HotelName": "Nordick's Valley Motel",
"Description": "Only 90 miles (about 2 hours) from the nation's capital and nearby most everything the historic valley has to offer. Hiking? Wine Tasting? Exploring the caverns? It's all nearby and we have specially priced packages to help make our B&B your home base for fun while visiting the valley.",
"Category": "Boutique",
"Address": {
"City": "Washington D.C.",
"StateProvince": null
}
}
]
}