Estou experimentando usar IA em nosso fórum de discussão e, até agora, é muito bom (ótimo trabalho, pessoal), realmente leva em consideração a intenção do usuário e fornece resultados muito relevantes.
O problema que vejo é que os resultados estão ocultos por padrão
Não consigo encontrar nenhuma configuração para habilitar isso por padrão, como o administrador faz isso? O verdadeiro poder é habilitar esse recurso por padrão e se afastar da pesquisa semântica, que pode ser imprevisível.
Curiosamente, tentei pesquisar neste fórum usando IA e não consegui obter nenhuma resposta relevante.
Sim, eu vi essa página, mas não vejo nada lá que fale sobre como habilitar os resultados de pesquisa de IA por padrão para todos. Estou perdendo alguma coisa aqui?
Talvez eu tenha entendido mal . Pensei que você quisesse dizer ‘habilitar o recurso’ em vez de ‘habilitar o botão de alternância’. Se você estiver se referindo ao botão de alternância, acho que não há como fazer isso.
Nós acabamos de torná-lo um alternador por padrão quando a pesquisa de página inteira não tem resultados, e em seguida o tornaremos um anexo automático de resultados de IA na pesquisa rápida do cabeçalho quando houver poucos ou nenhum resultado.
Esse é um ótimo começo. Seria bom ter uma opção para priorizar quais resultados queremos mostrar como a primeira escolha (extensão da lógica que acabou de ser implementada). Busca por IA ou busca semântica nativa. No meu caso, a IA produz resultados muito mais relevantes ao pesquisar.
A ideia aqui é que os tokens já são consumidos para executar a busca de IA, então por que não mostrar os resultados se eles forem mais apropriados. Muitos usuários ainda desconfiam da IA, então não ativam a opção, mas acabam com resultados de pesquisa enganosos (semânticos) e não percebem. Deixe os administradores decidirem o que é melhor para os padrões de suas comunidades.
Como uma solução temporária, se alguém precisar habilitar o botão de alternância por padrão, você pode adicionar este script ao seu tema (coloquei-o sob <body>) que basicamente procura por uma alteração nos resultados da pesquisa de IA e, em seguida, alterna os resultados de IA para habilitados. Este não é o código mais limpo, talvez @awesomerobot tenha uma maneira mais elegante de fazer isso.
<script type="text/javascript">
// ESTE SCRIPT É PARA HABILITAR O TOGGLE PARA INCLUIR RESULTADOS DE PESQUISA DE IA APÓS A CONCLUSÃO DA PESQUISA - EXCLUA QUANDO HOUVER UMA OPÇÃO NATIVA PARA HABILITAR ISSO POR PADRÃO
console.log('Script carregado. Procurando continuamente por .semantic-search__searching e gerenciando o observador.');
let searchObserver = null; // Variável para manter a instância do observador
function observeSearchContainer() {
const searchStatusContainer = document.querySelector('.semantic-search__searching');
if (searchStatusContainer) {
// Se o contêiner for encontrado
if (!searchObserver) {
// Se um observador não estiver em execução, inicie um
console.log('.semantic-search__searching encontrado. Iniciando observação.');
searchObserver = new MutationObserver(function(mutations) {
//console.log('Mutação detectada em .semantic-search__searching:', mutations);
mutations.forEach(function(mutation) {
// Verifique mutações relevantes dentro do contêiner observado
if (mutation.type === 'characterData') {
//console.log('Tipo de mutação relevante detectado. Tentando acionar a funcionalidade do botão de alternância. ' + 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) { // Se o toggle NÃO estiver atualmente habilitado
// Acione um evento de clique para ativar a funcionalidade associada
currentToggleButton.click();
console.log('Evento de clique do botão de alternância acionado.');
} else {
console.log('Botão de alternância já habilitado.');
}
} else {
// Este caso pode acontecer se o botão de alternância for removido enquanto o contêiner ainda estiver presente
console.log('Botão de alternância não encontrado ao tentar acionar a funcionalidade.');
}
}
});
});
const config = { childList: true, subtree: true, characterData: true, attributes: true };
searchObserver.observe(searchStatusContainer, config);
console.log('MutationObserver iniciado em .semantic-search__searching.');
} else {
// Contêiner encontrado e observador já está ativo para ele
//console.log('.semantic-search__searching encontrado, observador já ativo.');
}
} else {
// Se o contêiner NÃO for encontrado
if (searchObserver) {
// Se um observador estava em execução anteriormente, significa que o contêiner foi removido
console.log('.semantic-search__searching removido. Desconectando observador.');
searchObserver.disconnect(); // Pare de observar
searchObserver = null; // Redefina a variável do observador
} else {
// Contêiner não encontrado e nenhum observador ativo (estado correto)
//console.log('.semantic-search__searching ainda não encontrado.');
}
}
}
// Use um intervalo para verificar periodicamente a existência do contêiner
const containerCheckInterval = setInterval(observeSearchContainer, 500); // Verifique a cada 500 milissegundos
</script>