Pesquisar documentos por similaridade semântica

Endpoint de busca semântica com capacidades de processamento em lote

Initiate a search operation with a query text of up to 400 words and receive the most semantically similar responses from the stored knowledge. For question-answering, convert your question into an ideal answer and submit it to receive similar real answers.

Query parameters
qstringOptional

Up to 400 words sentence for which you wish to find semantically similar chunks of knowledge.

nintegerOptional

Number of semantically similar chunks of text to return. Use 'n=3' for up to 5, and 'n=10' for more information. If you do not receive enough information, consider trying again with a larger 'n' value.

fromstring · date-timeOptional

Start of the time range for documents to be searched, in ISO 8601 format.

tostring · date-timeOptional

End of the time range for documents to be searched, in ISO 8601 format.

Responses
200

Successful retrieval of documents

application/json
get
/documents/search/

Exemplo de Solicitações

curl -X GET \
  "https://api.rememberizer.ai/api/v1/documents/search/?q=Como%20integrar%20o%20Rememberizer%20com%20aplicações%20personalizadas&n=5&from=2023-01-01T00:00:00Z&to=2023-12-31T23:59:59Z" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Substitua YOUR_JWT_TOKEN pelo seu token JWT real.

Parâmetros da Consulta

Parâmetro
Tipo
Descrição

q

string

Obrigatório. O texto da consulta de pesquisa (até 400 palavras).

n

integer

Número de resultados a retornar. Padrão: 3. Use valores mais altos (por exemplo, 10) para resultados mais abrangentes.

from

string

Início do intervalo de tempo para os documentos a serem pesquisados, no formato ISO 8601.

to

string

Fim do intervalo de tempo para os documentos a serem pesquisados, no formato ISO 8601.

prev_chunks

integer

Número de partes anteriores a incluir para contexto. Padrão: 2.

next_chunks

integer

Número de partes seguintes a incluir para contexto. Padrão: 2.

Formato de Resposta

Dicas de Otimização de Busca

Para Respostas a Perguntas

Ao procurar uma resposta para uma pergunta, tente formular sua consulta como se fosse uma resposta ideal. Por exemplo:

Em vez de: "O que é incorporação vetorial?" Tente: "Incorporação vetorial é uma técnica que converte texto em vetores numéricos em um espaço de alta dimensão."

Para uma compreensão mais profunda de como as incorporações vetoriais funcionam e por que essa abordagem de busca é eficaz, veja O que são Incorporações Vetoriais e Bancos de Dados Vetoriais?

Ajustando a Contagem de Resultados

  • Comece com n=3 para resultados rápidos e de alta relevância

  • Aumente para n=10 ou mais para informações mais abrangentes

  • Se a pesquisa retornar informações insuficientes, tente aumentar o parâmetro n

Filtragem Baseada em Tempo

Use os parâmetros from e to para focar em documentos de períodos específicos:

  • Documentos recentes: Defina from para uma data recente

  • Análise histórica: Especifique um intervalo de datas específico

  • Excluindo informações desatualizadas: Defina uma data to apropriada

Operações em Lote

Para lidar de forma eficiente com grandes volumes de consultas de pesquisa, o Rememberizer suporta operações em lote para otimizar o desempenho e reduzir a sobrecarga de chamadas à API.

Pesquisa em Lote

Considerações de Desempenho

Ao implementar operações em lote, considere estas melhores práticas:

  1. Tamanho de Lote Ideal: Comece com tamanhos de lote de 5-10 consultas e ajuste com base nas características de desempenho do seu aplicativo.

  2. Limitação de Taxa: Inclua atrasos entre os lotes para evitar a limitação da API. Um bom ponto de partida é 1 segundo entre os lotes.

  3. Tratamento de Erros: Implemente um tratamento de erros robusto para gerenciar solicitações falhadas dentro dos lotes.

  4. Gerenciamento de Recursos: Monitore o uso de recursos do lado do cliente, particularmente com tamanhos de lote grandes, para evitar consumo excessivo de memória.

  5. Processamento de Respostas: Processar os resultados do lote de forma assíncrona quando possível para melhorar a experiência do usuário.

Para aplicativos de alto volume, considere implementar um sistema de fila para gerenciar grandes números de solicitações de busca de forma eficiente.

Este endpoint fornece poderosas capacidades de busca semântica em toda a sua base de conhecimento. Ele utiliza embeddings vetoriais para encontrar conteúdo com base no significado, em vez de correspondências exatas de palavras-chave.

Last updated