Fase de Recuperação

Ao receber uma pergunta, o aplicativo primeiro pesquisa no índice do Elasticsearch por documentos relevantes. Isso é conseguido gerando um vetor de incorporação esparso para a pergunta e, em seguida, pesquisando no índice as incorporações mais próximas a ela, cada uma associada a uma passagem de um documento.

Assim como na fase de ingestão, o índice do Elasticsearch é gerenciado por meio da integração ElasticsearchStore com o Langchain:

A geração de um embedding para a pergunta e a subsequente busca por ela são abstrações bem feitas pelo método invoke() da interface de recuperação do Langchain, que executa todas essas tarefas e retorna a lista dos documentos mais relevantes encontrados:

Você pode ver aqui como as passagens retornadas são enviadas ao cliente como fontes. O aplicativo React exibirá esses resultados como "Resultados da pesquisa" abaixo da resposta.

É importante observar que o argumento strategy usado na classe ElasticsearchStore deve corresponder à estratégia usada durante a ingestão. Neste exemplo, o SparseVectorRetrievalStrategy cria e pesquisa vetores esparsos do modelo ELSER da Elastic. Outra opção interessante que você pode avaliar é usar o ApproxRetrievalStrategy, que usa incorporações vetoriais densas.

Pronto para criar buscas de última geração?

Uma pesquisa suficientemente avançada não se consegue apenas com o esforço de uma só pessoa. O Elasticsearch é impulsionado por cientistas de dados, especialistas em operações de aprendizado de máquina, engenheiros e muitos outros que são tão apaixonados por buscas quanto você. Vamos nos conectar e trabalhar juntos para construir a experiência de busca mágica que lhe trará os resultados desejados.

Experimente você mesmo(a)