Discourse AI - Búsqueda con IA

:bookmark: Esta guía explica cómo habilitar y configurar la función de búsqueda por IA, que forma parte del plugin Discourse AI.

:person_raising_hand: Nivel de usuario requerido: Administrador

Al igual que con Temas relacionados, la búsqueda por IA te ayuda a encontrar los temas más relevantes utilizando la similitud semántica de texto que va más allá de una coincidencia exacta de palabra clave utilizada por la búsqueda tradicional. Esto da como resultado el descubrimiento de temas que no son coincidencias exactas pero que siguen siendo relevantes para la búsqueda inicial. Si no puedes encontrar lo que buscas, ¡la búsqueda por IA está aquí para ayudar!

Características

  • Similitud semántica de texto: va más allá de una simple coincidencia de palabra clave y utiliza el análisis semántico para encontrar similitud textual
  • Búsqueda rápida de IA: añade automáticamente resultados de IA en la ventana emergente del menú de búsqueda cuando se encuentran pocos resultados normales (habilitar con ai_embeddings_semantic_quick_search_enabled)
  • Activación/desactivación para la búsqueda por IA en la búsqueda de página completa
  • HyDE (Hypothetical Document Embeddings) opcional: utiliza un LLM para expandir las consultas y obtener mejores resultados
  • Resultados indicados con el icono :sparkles:
  • Aplicable tanto a usuarios anónimos como a usuarios registrados

Habilitación de la búsqueda por IA

Prerrequisitos

Para usar la Búsqueda por IA, necesitarás tener configurados los Embeddings. Se necesita opcionalmente un Modelo de Lenguaje Grande (LLM) si habilitas HyDE (Hypothetical Document Embeddings) para mejorar la calidad de la búsqueda.

Embeddings

Si estás en nuestro hosting, proporcionaremos una opción predeterminada. Para los autoalojados, sigue la guía en Discourse AI - Embeddings

Modelo de Lenguaje Grande (LLM) (opcional, para HyDE)

Solo se requiere un LLM si habilitas la configuración ai_embeddings_semantic_search_use_hyde, que utiliza un LLM para crear un documento hipotético a partir de la consulta de búsqueda antes de incrustarlo. Esto puede mejorar la calidad de los resultados pero añade latencia y coste.

Para empezar, puedes configurarlos a través de la página de configuración de Discourse AI - Large Language Model (LLM).

Configuración

  1. Ve a AdminPluginsDiscourse AIFeaturesEmbeddings para encontrar todas las configuraciones de búsqueda por IA
  2. Habilita ai_embeddings_enabled para Embeddings
  3. Habilita ai_embeddings_semantic_search_enabled para activar la búsqueda por IA en la búsqueda de página completa
  4. Habilita opcionalmente ai_embeddings_semantic_quick_search_enabled para añadir resultados de IA en la ventana emergente del menú de búsqueda
  5. Habilita opcionalmente ai_embeddings_semantic_search_use_hyde para usar HyDE para mejores resultados (requiere un LLM)

Preguntas frecuentes técnicas

Expandir para un esquema de la lógica de búsqueda por IA (con HyDE habilitado)
mermaid height=255,auto
sequenceDiagram
    User->>+Discourse: Buscar "gamificación"
    Discourse->>+LLM: Crear un artículo sobre "gamificación" en un foro acerca de<br>  "Discourse, un sistema de foros de Internet de código abierto."
    LLM->>+Discourse: La gamificación implica aplicar elementos de diseño de juegos como<br>  puntos, insignias, niveles y tablas de clasificación a contextos no relacionados con juegos...
    Discourse->>+EmbeddingsAPI: Generar Embeddings para "La gamificación implica aplicar diseño de juegos..."
    EmbeddingsAPI->>+Discourse: [0.123, -0.321...]
    Discourse->>+PostgreSQL: Dame los temas más cercanos para [0.123, -0.321...]
    PostgreSQL->>+Discourse: Temas: [1, 5, 10, 50]
    Discourse->>+User: Temas: [1, 5, 10, 50]

¿Cómo funciona la Búsqueda por IA?

  • Cuando HyDE está habilitado (ai_embeddings_semantic_search_use_hyde), la consulta de búsqueda se ejecuta a través de un LLM que crea un tema/publicación hipotético. Luego, se generan Embeddings a partir de esa publicación hipotética y se utilizan para buscar coincidencias similares en tu sitio. Cuando HyDE está deshabilitado (el valor predeterminado), la consulta de búsqueda se incrusta directamente y se utiliza para la coincidencia de similitud. En ambos casos, los resultados se fusionan con los resultados de búsqueda normales utilizando Reciprocal Rank Fusion (RRF) para volver a clasificar los principales resultados.

¿Cómo se procesan los datos de temas/publicaciones?

  • Cuando HyDE está habilitado, los datos del LLM son procesados por un proveedor externo; consulta a tu proveedor específico para obtener más detalles. Por defecto, el microservicio de Embeddings se ejecuta junto con otros servidores que alojan tus foros existentes. No hay un tercero involucrado aquí, y esa información específica nunca abandona tu red interna en nuestro centro de datos privado virtual.

¿A dónde van los datos?

  • Cuando HyDE está habilitado, un tema/publicación hipotético creado por el proveedor del LLM se almacena en caché temporalmente junto con los Embeddings para ese documento. Los datos de Embeddings se almacenan en la misma base de datos donde almacenamos tus temas, publicaciones y usuarios; es otra tabla de datos allí.

¿Cómo se ve el “modelo semántico” de Embeddings? ¿Cómo fue “entrenado” y hay alguna forma de probar que se puede aplicar con precisión a los temas en nuestras comunidades “especializadas”?

  • Por defecto, utilizamos modelos de código abierto preentrenados, como este. Lo hemos implementado para muchos clientes y hemos descubierto que funciona bien tanto para comunidades de nicho como generales. Si el rendimiento no es suficiente para tu caso de uso, tenemos modelos más complejos listos para usar, pero en nuestra experiencia, la opción predeterminada es una opción sólida.
6 Me gusta

He notado un pequeño error en la interfaz de usuario para ai embeddings semantic search hyde model. Pasos para reproducir

  1. Instalar el plugin AI Discourse
  2. Abrir configuración → Configurar clave Gemini
  3. Habilitar i embeddings semantic search enabled
  4. ai embeddings semantic search hyde model muestra Google - gemini-pro (no configurado)

El no configurado no desaparece hasta después de que se habilitan todas las configuraciones y la página se actualiza posteriormente.

2 Me gusta

Creo que esta es una limitación de nuestra página de configuración del sitio, así que me disculpo por ello y me alegro de que hayas podido solucionarlo.

1 me gusta

Una pregunta sobre semántica. En algunos módulos de IA veo una referencia a usar Gemini mientras que en otros veo una referencia a Gemini-Pro. ¿Se refieren a modelos diferentes (Gemini Nano, Pro y Ultra) o se refieren al mismo LLM? Si es así, ¿a qué se refiere Gemini en sí mismo y importa si uno tiene una suscripción de pago o gratuita a Gemini?

1 me gusta

Hay diferentes modelos de Gemini, como los que has señalado. Dependiendo de cuál tengas (probablemente pro, ya que es gratuito ahora mismo), simplemente conectarías la clave API en la configuración correspondiente. La configuración es para el modelo de Gemini que tengas.

Esto dependería de ti y de cómo quieras usar Gemini, pero cualquiera de las dos debería funcionar.

Más información aquí:

1 me gusta

¿Hay alguna forma de inyectar algo en el prompt inicial al LLM o manipular los embeddings antes de que se pasen a la búsqueda normal?

Estoy intentando potenciar (o posiblemente separar) las respuestas del personal (más autorizadas) de las respuestas de la comunidad.

2 Me gusta

Actualmente, no admitimos ninguna inyección de indicaciones personalizadas de LLM dentro de Búsqueda de IA, aunque esto podría ser algo para agregar en el futuro.

¡Recomendaría hacer una solicitud de #característica!

2 Me gusta

Recién estoy empezando a usar la búsqueda de IA y me está gustando. No encuentro ninguna razón para no usarla siempre. ¿Hay alguna forma de mostrar solo los resultados de IA (aparte de usar CSS para ocultar .fps-result pero no .ai-result)?

Además, ¿podrías explicar dónde encontrar la búsqueda rápida?

1 me gusta

Oye, eso estuvo disponible temporalmente exclusivamente en Meta como un experimento. Lo he eliminado del OP, gracias por señalarlo.

Estamos usando Discourse Algolia Search para la búsqueda de autocompletado en la cabecera. ¿Podemos continuar usando Discourse AI - Búsqueda con IA?

Se dividió una publicación en un nuevo tema: No veo el panel de preferencias del usuario para Discourse AI