Buscar documentos por similitud semántica
Punto final de búsqueda semántica con capacidades de procesamiento por lotes
Ejemplos de Solicitudes
curl -X GET \
"https://api.rememberizer.ai/api/v1/documents/search/?q=Cómo%20integrar%20Rememberizer%20con%20aplicaciones%20personalizadas&n=5&from=2023-01-01T00:00:00Z&to=2023-12-31T23:59:59Z" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"const searchDocuments = async (query, numResults = 5, from = null, to = null) => {
const url = new URL('https://api.rememberizer.ai/api/v1/documents/search/');
url.searchParams.append('q', query);
url.searchParams.append('n', numResults);
if (from) {
url.searchParams.append('from', from);
}
if (to) {
url.searchParams.append('to', to);
}
const response = await fetch(url.toString(), {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN'
}
});
const data = await response.json();
console.log(data);
};
searchDocuments('Cómo integrar Rememberizer con aplicaciones personalizadas', 5);Parámetros de Consulta
q
cadena
Requerido. El texto de la consulta de búsqueda (hasta 400 palabras).
n
entero
Número de resultados a devolver. Predeterminado: 3. Utilice valores más altos (por ejemplo, 10) para obtener resultados más completos.
from
cadena
Inicio del rango de tiempo para los documentos a buscar, en formato ISO 8601.
to
cadena
Fin del rango de tiempo para los documentos a buscar, en formato ISO 8601.
prev_chunks
entero
Número de fragmentos anteriores a incluir para contexto. Predeterminado: 2.
next_chunks
entero
Número de fragmentos siguientes a incluir para contexto. Predeterminado: 2.
Formato de Respuesta
Consejos de Optimización de Búsqueda
Para Responder Preguntas
Al buscar una respuesta a una pregunta, intenta formular tu consulta como si fuera una respuesta ideal. Por ejemplo:
En lugar de: "¿Qué es la incrustación vectorial?" Intenta: "La incrustación vectorial es una técnica que convierte texto en vectores numéricos en un espacio de alta dimensión."
Ajustando la Cantidad de Resultados
Comienza con
n=3para resultados rápidos y de alta relevanciaAumenta a
n=10o más para información más completaSi la búsqueda devuelve información insuficiente, intenta aumentar el parámetro
n
Filtrado Basado en el Tiempo
Utiliza los parámetros from y to para centrarte en documentos de períodos de tiempo específicos:
Documentos recientes: Establece
fromen una fecha recienteAnálisis histórico: Especifica un rango de fechas específico
Excluyendo información desactualizada: Establece una fecha
toapropiada
Operaciones por Lotes
Para manejar de manera eficiente grandes volúmenes de consultas de búsqueda, Rememberizer admite operaciones por lotes para optimizar el rendimiento y reducir la sobrecarga de llamadas a la API.
Búsqueda por Lotes
Consideraciones de Rendimiento
Al implementar operaciones por lotes, considera estas mejores prácticas:
Tamaño Óptimo del Lote: Comienza con tamaños de lote de 5-10 consultas y ajusta según las características de rendimiento de tu aplicación.
Limitación de Tasa: Incluye retrasos entre lotes para prevenir la limitación de la API. Un buen punto de partida es 1 segundo entre lotes.
Manejo de Errores: Implementa un manejo de errores robusto para gestionar solicitudes fallidas dentro de los lotes.
Gestión de Recursos: Monitorea el uso de recursos del lado del cliente, particularmente con tamaños de lote grandes, para prevenir un consumo excesivo de memoria.
Procesamiento de Respuestas: Procesa los resultados de los lotes de manera asíncrona cuando sea posible para mejorar la experiencia del usuario.
Para aplicaciones de alto volumen, considera implementar un sistema de cola para gestionar grandes cantidades de solicitudes de búsqueda de manera eficiente.
Este endpoint proporciona potentes capacidades de búsqueda semántica en toda tu base de conocimientos. Utiliza incrustaciones vectoriales para encontrar contenido basado en el significado en lugar de coincidencias exactas de palabras clave.
Last updated