Estoy experimentando con el uso de IA en nuestro foro de debate y hasta ahora es bastante bueno (gran trabajo, chicos), realmente tiene en cuenta la intención del usuario y proporciona resultados muy relevantes.
El problema que veo es que los resultados están ocultos por defecto
No encuentro ninguna configuración para habilitar esto por defecto, ¿cómo lo hace el administrador? El verdadero poder es habilitar esta función por defecto y alejarse de la búsqueda semántica que puede ser impredecible.
Curiosamente, intenté buscar esto en este foro usando IA y no pude obtener ninguna respuesta relevante.
Sí, he visto esa página, pero no veo nada que hable sobre cómo habilitar los resultados de búsqueda de IA de forma predeterminada para todos. ¿Me estoy perdiendo algo aquí?
Quizás te entendí mal . Pensé que te referías a ‘habilitar la función’ en lugar de ‘habilitar el interruptor’. Si te refieres al interruptor, no creo que haya una forma de hacerlo.
Acabamos de hacer que se active por defecto cuando la búsqueda de página completa no arroja resultados, y a continuación haremos que añada automáticamente resultados de IA cuando la búsqueda rápida en la cabecera no arroje resultados o arroje pocos.
Es un gran comienzo. Sería bueno tener una opción para priorizar qué resultados queremos mostrar como la primera opción (extensión de la lógica que se acaba de implementar). Búsqueda semántica nativa o de IA. En mi caso, la IA produce resultados mucho más relevantes al buscar.
La idea aquí es que los tokens ya se consumen para ejecutar la búsqueda de IA, así que ¿por qué no mostrar los resultados si son más apropiados? Muchos usuarios todavía desconfían de la IA, por lo que no activan el interruptor, pero al mismo tiempo obtienen resultados de búsqueda engañosos (semánticos) y no se dan cuenta. Deje que los administradores decidan qué es lo mejor para los valores predeterminados de su comunidad.
Como solución temporal si alguien necesita habilitar el botón de alternancia de forma predeterminada, puede agregar este script a su tema (lo he puesto debajo de <body />) que básicamente busca un cambio en los resultados de búsqueda de IA y luego habilita los resultados de IA. Este no es el código más limpio, tal vez @awesomerobot tenga una forma más elegante de hacerlo.
<script type="text/javascript">
// ESTE SCRIPT ES PARA HABILITAR EL BOTÓN DE ALTERNANCIA PARA INCLUIR RESULTADOS DE BÚSQUEDA DE IA DESPUÉS DE QUE LA BÚSQUEDA SE COMPLETE - ELIMINAR UNA VEZ QUE HAYA UNA OPCIÓN NATIVA PARA HABILITAR ESTO DE FORMA PREDETERMINADA
console.log('Script cargado. Buscando continuamente .semantic-search__searching y gestionando el observador.');
let searchObserver = null; // Variable para mantener la instancia del observador
function observeSearchContainer() {
const searchStatusContainer = document.querySelector('.semantic-search__searching');
if (searchStatusContainer) {
// Si se encuentra el contenedor
if (!searchObserver) {
// Si aún no se está ejecutando un observador, inicie uno
console.log('Se encontró .semantic-search__searching. Iniciando observación.');
searchObserver = new MutationObserver(function(mutations) {
//console.log('Mutación detectada en .semantic-search__searching:', mutations);
mutations.forEach(function(mutation) {
// Comprobar mutaciones relevantes dentro del contenedor observado
if (mutation.type === 'characterData') {
//console.log('Tipo de mutación relevante detectado. Intentando activar la funcionalidad del botón de alternancia. ' + mutation.type);
const currentToggleButton = document.querySelector('button.d-toggle-switch__checkbox.semantic-search__results-toggle');
if (currentToggleButton) {
const isCurrentlyEnabled = currentToggleButton.getAttribute('aria-checked') === 'true';
if (!isCurrentlyEnabled) { // Si el botón de alternancia NO está habilitado actualmente
// Disparar un evento de clic para activar la funcionalidad asociada
currentToggleButton.click();
console.log('Se disparó el evento de clic del botón de alternancia.');
} else {
console.log('El botón de alternancia ya está habilitado.');
}
} else {
// Este caso podría ocurrir si el botón de alternancia se elimina mientras el contenedor todavía está presente
console.log('No se encontró el botón de alternancia al intentar activar la funcionalidad.');
}
}
});
});
const config = { childList: true, subtree: true, characterData: true, attributes: true };
searchObserver.observe(searchStatusContainer, config);
console.log('MutationObserver iniciado en .semantic-search__searching.');
} else {
// Se encontró el contenedor y el observador ya está activo para él
//console.log('Se encontró .semantic-search__searching, observador ya activo.');
}
} else {
// Si NO se encuentra el contenedor
if (searchObserver) {
// Si un observador se estaba ejecutando previamente, significa que el contenedor fue eliminado
console.log('Se eliminó .semantic-search__searching. Desconectando observador.');
searchObserver.disconnect(); // Detener la observación
searchObserver = null; // Restablecer la variable del observador
} else {
// No se encontró el contenedor y no hay observador activo (estado correcto)
//console.log('Aún no se encontró .semantic-search__searching.');
}
}
}
// Usar un intervalo para verificar periódicamente la existencia del contenedor
const containerCheckInterval = setInterval(observeSearchContainer, 500); // Verificar cada 500 milisegundos
</script>