Usamos nuestro sitio como una base de conocimientos y un foro de discusión para un departamento universitario. Así, por ejemplo, puedo imaginar a la gente queriendo preguntar cosas como:
¿cuándo estarán disponibles las calificaciones de MSc?
¿cuál es la nota de aprobación para los estudiantes de MPsych?
¿cuántas semanas de permiso puedo reservar de una vez?
¿qué pasa si mi tutor suspende un módulo de etapa 1?
¿qué requiere la universidad que haga si mi tutor se autolesiona?
¿cuánto pagamos a los participantes en investigación?
¿cómo consigo un ascenso?
¿qué fuentes de financiación de doctorado están disponibles? o ¿cuándo se publican las becas de doctorado de la escuela?
¿dónde en el programa aprenden los estudiantes sobre el análisis de varianza de medidas repetidas?
En cada uno de estos casos tenemos información bastante buena, pero la búsqueda tradicional no encuentra los resultados correctos para resumir. A veces no encuentra nada, pero otras veces encuentra discusiones antiguas que no son la respuesta “correcta”.
Mira la cola de PR en la que @falco está trabajando en la búsqueda semántica basada en Hyde, una vez que esté lista intentaré añadir un comando para ella.
Sé que muchos aquí no son programadores y, por lo tanto, las diferencias entre la búsqueda por palabras clave y la búsqueda semántica pueden parecer confusas o pueden querer tener una mayor comprensión de cómo funciona. Si bien lo siguiente es para programadores, es lo suficientemente básico como para que puedas aprender algunos de los conceptos clave sobre las diferencias entre los dos métodos de búsqueda sin ser programador.
DeepLearning.AI agregó recientemente (14/08/2023) este curso básico gratuito sobre
Modelos de Lenguaje Grandes con Búsqueda Semántica (ref)
que se puede encontrar en la página de cursos cortos.
Para aquellos que prestan atención a quién es quién en el mundo de la IA, deberían reconocer a algunas de las personas que presentan.
@EricGT gracias por el enlace. Ese artículo es bastante denso para quienes no entienden ya bastante sobre ML.
Creo que la idea principal es que, tal como se aplica aquí, HyDE usaría un LLM para crear primero una respuesta “inventada” basada en la pregunta. Esta respuesta tendrá la forma de una publicación real en un foro (por ejemplo), pero puede contener alucinaciones y ser factualmente incorrecta porque el contenido proviene del LLM y no de un conjunto de documentos canónico. Este documento nunca se muestra al usuario, pero el truco ingenioso es que este documento será semánticamente similar a documentos/temas reales en tu sitio. La búsqueda devuelve documentos reales que son más similares al documento “inventado”, y empíricamente esto parece funcionar mejor que simplemente hacer coincidir el término de búsqueda en bruto con documentos semánticamente similares en la base de datos de incrustaciones.
@sam Hyde la búsqueda basada en suena genial y estoy emocionado de probarla. ¿Estás imaginando ajustes para algunas de estas funciones de IA? Por ejemplo, puedo imaginar que sería bueno editar las indicaciones utilizadas tanto para generar el documento hipotético como para controlar el resumen/respuesta. Por ejemplo, el chatbot actual es bastante verboso cuando encuentra respuestas. Sería bueno poder agregar “concisamente” o “brevemente” como prefijo a la indicación (como suelo hacer cuando uso chatgpt).
Sé que muchos no prestarán atención a esa declaración, pero si estás pagando dinero real por ejecutar indicaciones, esa es una de las declaraciones más valiosas que necesitas entender.
Ver:
Indicaciones
40-90%: Cantidad ahorrada al añadir “Sé conciso” a tu indicación
Es importante recordar que pagas por token por las respuestas. Esto significa que pedirle a un LLM que sea conciso puede ahorrarte mucho dinero [1]. Esto se puede ampliar más allá de simplemente añadir “sé conciso” a tu indicación: si estás usando GPT-4 para proponer 10 alternativas, quizás pídele 5 y guarda la otra mitad del dinero.
Tenemos el backend listo para ello, pero nos llevará un tiempo integrarlo adecuadamente en la página de resultados de búsqueda de Discourse, ya que la interfaz de usuario es un poco complicada.
Hoy no ofrecemos ningún control sobre las indicaciones, pero lo haremos para que sean personalizables en el futuro, después de que la función funcione bien.
¡Es genial! Especialmente cuando ingreso una frase de búsqueda que devuelve “No se encontraron resultados” para la búsqueda de coincidencia exacta.
Estoy obteniendo bastantes coincidencias semánticamente correctas para temas cerrados del Marketplace. Posiblemente sea útil devolverlos, pero tal vez deberían aparecer cerca del final de la lista.
Quizás algunas búsquedas podrían limitarse a categorías o etiquetas específicas. Por ejemplo:
Al buscar “¿Cómo evito que se envíen correos electrónicos de activación cuando los usuarios inician sesión desde WordPress?”, los mejores resultados se encontrarán en Documentation o Support > WordPress.
Al buscar “¿Cómo escribir una consulta de Data Explorer que devuelva los temas más populares?”, los mejores resultados se encontrarán en las categorías Data & reporting y Documentation.
Si fuera posible, la búsqueda inicial podría devolver resultados de las categorías más probables y se podría dar una sugerencia para intentar ampliar la búsqueda a otras categorías.
Pensando en la búsqueda semántica como la primera parada para usar Discourse como un foro de soporte al cliente, sería bueno poder priorizar categorías o etiquetas específicas. Por ejemplo, en Meta, la búsqueda inicial podría priorizar la búsqueda en la categoría Documentation.
Ese es exactamente uno de los problemas que quería abordar con esta nueva función. La búsqueda semántica siempre encontrará algo.
Por el momento, la búsqueda semántica es bastante básica. Consta de solo unas pocas líneas de código en el backend y devuelve lo que sea semánticamente más cercano. Carece de las características de búsqueda que agregamos a la búsqueda estándar durante la última década, como Mejoras de búsqueda en 2.3 y muchas otras. Debido a esto, actualmente se ofrece como un conjunto de resultados complementario.
Si la función es bien recibida y podemos perfeccionar la interfaz de usuario en el producto, intentaremos incorporar las partes específicas de Discourse a los resultados de la búsqueda semántica.