Discourse AI - Detección de spam

:bookmark: Esta guía explica cómo configurar y utilizar la función de detección de spam de Discourse AI, incluido el proceso de configuración, los criterios de escaneo, la lógica de clasificación, las personalizaciones y los contrastes con la clasificación (triage) por IA.

:person_raising_hand: Nivel de usuario requerido: Administrador

:megaphone: Esto está activado por defecto para los clientes Starter y Pro, así como para nuestros clientes heredados Basic, Open Source, Creator y Business.

Discourse AI proporciona una función eficiente de detección de spam que identifica y marca las publicaciones de spam con una configuración mínima. Si bien está diseñada para ser sencilla, complementa el sistema de clasificación (triage) por IA más versátil, que admite flujos de trabajo más amplios y casos de uso mayores.

Resumen

En esta guía aprenderá:

  • Cómo funciona la detección de spam por IA y qué contenido se escanea
  • La lógica de clasificación y el contexto utilizado por la IA
  • Pasos para configurar la detección de spam a través de /admin/plugins/discourse-ai/ai-spam
  • Pautas para la selección del Modelo de Lenguaje Grande (LLM)
  • Diferencias clave entre la detección de spam y la clasificación (triage) por IA
  • Cómo gestionar las publicaciones marcadas y las omitidas

Cómo funciona la detección de spam por IA

¿Qué contenido se escanea?

La detección de spam por IA evalúa las publicaciones según estos criterios:

  1. Nivel de confianza del usuario:

    • Escanea las publicaciones de usuarios con un nivel de confianza igual o inferior al máximo configurado (controlado por la configuración del sitio ai_spam_detection_max_trust_level, predeterminado: nivel de confianza 1).
    • Excluye las publicaciones de niveles de confianza más altos.
    • Siempre excluye las publicaciones de usuarios del personal y bots independientemente de su nivel de confianza.
  2. Tipo de publicación:

    • Publicaciones públicas (excluyendo mensajes privados).
    • Se incluyen tanto las publicaciones de respuesta como las publicaciones del primer tema, según umbrales adicionales.
  3. Ediciones de publicación:

    • Escanea publicaciones con ediciones significativas (por ejemplo, cambios que superan los 10 caracteres).
    • Aplica un retraso de 10 minutos entre escaneos de la misma publicación.
    • Limita los nuevos escaneos a un máximo de 3 escaneos por publicación.
    • Solo vuelve a escanear las publicaciones editadas en las últimas 24 horas.
  4. Frecuencia de publicación:

    • Escanea las publicaciones de usuarios con no más del recuento de publicaciones configurado como umbral (controlado por la configuración del sitio ai_spam_detection_max_post_count, predeterminado: 3 publicaciones) en temas públicos.
    • Excluye las publicaciones de usuarios que superan este umbral.
  5. Cola de revisión:

    • Las publicaciones que ya fueron aprobadas desde la cola de revisión no se escanean.

El proceso de clasificación

Las publicaciones que cumplen los criterios se envían a un agente de IA para su análisis. El agente evalúa si la publicación es spam o no es spam y proporciona un motivo para su clasificación, utilizando una salida JSON estructurada. La evaluación se basa en:

  • Contexto: Incluye el contenido de la publicación, el título del tema, la categoría, los datos de la cuenta del usuario (por ejemplo, nombre de usuario, correo electrónico, antigüedad de la cuenta, total de publicaciones y nivel de confianza) e información de geolocalización basada en IP.
  • Análisis de imágenes: Se incluyen hasta 3 subidas de imágenes adjuntas a una publicación para su análisis.
  • Contexto de respuesta: Para las publicaciones de respuesta, se incluye el contenido de la publicación principal (hasta 500 caracteres).
  • Información del sitio: Se proporcionan al sistema de IA el nombre del sitio, la URL, la descripción y las 10 categorías principales.
  • Instrucciones personalizadas: Reglas definidas por el administrador para reforzar o adaptar los criterios de escaneo.
  • Detección automatizada:
    • Marca contenido irrelevante o promocional (por ejemplo, anuncios o material comercial).
    • Identifica comportamientos automatizados o similares a bots.
    • Evalúa la relevancia del contenido para la discusión.

Prompt predeterminado y contexto

La IA utiliza un prompt del sistema predeterminado para guiar la detección de spam. El prompt del agente de detección de spam incorporado cubre:

Eres un sistema de detección de spam. Analiza el siguiente contenido de la publicación y su contexto.

Considera cuidadosamente el tipo de publicación:
- Para publicaciones de RESPUESTA: Verifica si la respuesta es relevante y está en el tema del hilo
- Para publicaciones de NUEVO TEMA: Verifica si es una promoción de tema legítimo o spam

Una publicación es spam si coincide con alguno de estos criterios:
- Contiene contenido comercial no solicitado o promociones
- Tiene enlaces externos sospechosos o no relacionados
- Muestra patrones de publicación automatizada/bot
- Contiene contenido irrelevante o publicidad
- Para respuestas: Completamente irrelevante para el hilo de discusión
- Utiliza palabras clave excesivas o patrones de texto repetitivos
- Muestra un formato o uso de caracteres sospechosos

Sé especialmente estricto con:
- Respuestas que ignoran la conversación anterior
- Publicaciones que contienen múltiples enlaces externos no relacionados
- Respuestas genéricas que podrían publicarse en cualquier lugar

Sé justo con:
- Usuarios nuevos que realizan contribuciones legítimas iniciales
- Hablantes no nativos que hacen esfuerzos genuinos por participar
- Menciones de productos relevantes para el tema en contextos apropiados

El escáner también compila un paquete de contexto, que incluye:

  • Tipo de publicación (NUEVO TEMA o RESPUESTA) con metadatos de categoría y tema.
  • Para respuestas: el contenido de la publicación principal y el autor del tema.
  • Datos del autor (nombre de usuario, correo electrónico, antigüedad de la cuenta, total de publicaciones, nivel de confianza y ubicación basada en IP).
  • Texto de la publicación truncado a 5000 caracteres para su procesamiento.
  • Hasta 3 subidas de imágenes adjuntas a la publicación.

Configurar la detección de spam por IA

Guía de configuración

  1. Acceder a la configuración:
    Navegue a /admin/plugins/discourse-ai/ai-spam.

  2. Seleccionar un LLM:

:information_source: Si su sitio está alojado por Discourse

Puede seleccionar nuestro LLM pequeño alojado por CDCK de la lista de LLM.

  1. Activar la detección de spam:
    Active la función de detección de spam conmutándola.

:information_source: Nota: Un LLM conectado es obligatorio.

  1. Añadir instrucciones personalizadas:

    • Defina reglas específicas para su foro (por ejemplo, monitoreo más estricto de enlaces externos).
    • Guarde cualquier cambio para aplicarlos.
  2. Ajustar los umbrales de escaneo (opcional):

    • ai_spam_detection_max_trust_level: Establezca el nivel de confianza máximo de los usuarios cuyas publicaciones se escanean (predeterminado: 1). Se puede configurar de 0 a 4.
    • ai_spam_detection_max_post_count: Establezca el número máximo de publicaciones que puede tener un usuario y aun así ser escaneado (predeterminado: 3). Se puede configurar de 1 a 100.

Diferencias con la clasificación (triage) por IA

Mientras que la detección de spam está diseñada específicamente para identificar spam, la clasificación (triage) por IA admite tareas de gestión de publicaciones más amplias.

Característica Detección de spam por IA Clasificación (Triage) por IA
Complejidad Configuración simplificada y opinada Altamente personalizable y flexible
Caso de uso principal Detección de spam con sobrecarga mínima Flujos de trabajo avanzados para categorización, etiquetado, respuestas, detección de spam, detección de nsfw
Acciones Marca el spam, oculta publicaciones, silencia usuarios Etiqueta, categoriza, oculta publicaciones, añade respuestas, marca publicaciones, silencia usuarios
Recomendación Configuración sencilla y eficaz para la mayoría de las situaciones Usar para flujos de trabajo ricos y altamente personalizables

Para más detalles, consulte Discourse AI - Clasificación (Triage) por IA.


Recomendaciones de selección de LLM

El rendimiento de la detección de spam depende del LLM elegido.

La mayoría de los LLM de bajo costo funcionan eficazmente, como:

  • GPT-4o-mini
  • Claude 3.5 Haiku
  • Gemini 2.0 Flash

Experimente con diferentes modelos para encontrar el mejor ajuste. Configure sus modelos a través de /admin/plugins/discourse-ai/ai-llms.


Probar el comportamiento del escáner de spam

Puede probar las reglas de detección de spam directamente desde la página de configuración.

  • Pegue una URL o ID de publicación en el campo de prueba.
  • Revise el resultado de la clasificación y el razonamiento de la IA para su decisión.
  • Los cambios no guardados se aplican durante la prueba, lo que permite la experimentación sin riesgo.

Gestión de publicaciones marcadas y omitidas

Manejo de publicaciones marcadas

Cuando se detecta una publicación como spam, el sistema:

  • Marca la publicación como spam y la añade a la cola de revisión.
  • Silencia al usuario que publica.
  • Oculta la publicación de la vista pública.
  • Hace que el tema sea invisible si la publicación de spam fue la primera publicación del tema.

Las publicaciones marcadas aparecen en la cola de moderación. Los administradores pueden:

  • Aprobar publicaciones legítimas clasificadas erróneamente como spam.
  • Rechazar temas de spam para mantener la precisión del sistema.

:warning: Importante: Rechace las marcas de spam para las publicaciones clasificadas incorrectamente. Los usuarios permanecen silenciados hasta que se resuelve la marca.

Manejo del spam omitido

El spam omitido se refiere a publicaciones que evitan la detección pero son marcadas por la comunidad. Los moderadores pueden gestionarlas según sea necesario.


Mejores prácticas

  • Supervise regularmente el spam marcado y el omitido para refinar la precisión del sistema. Las métricas clicables simplifican este proceso.
  • Utilice casos de prueba para evaluar las instrucciones personalizadas frente a casos extremos.
  • Revise y ajuste la configuración de LLM cuando sea necesario.
  • Utilice las configuraciones del sitio ai_spam_detection_max_trust_level y ai_spam_detection_max_post_count para ajustar qué usuarios son escaneados según las necesidades de su comunidad.

Recursos adicionales


:mega: Configurar la detección de spam por IA de manera efectiva reduce los esfuerzos de moderación manual, asegurando una comunidad limpia y libre de spam.

17 Me gusta
Discourse AI spam detection replaces Akismet plugin
Setting up spam detection in your community
AI powered Spam detection
Tips for Preventing Spam
How to block certain types of user registrations
Inappropriate posts are spamming the Anthias Discourse forums
Experiments with AI based moderation on Discourse Meta
Filtering spam/troll accounts
Anyone else currently undergoing mass spam attack?
Discourse AI spam detection replaces Akismet plugin
Failing update
Watched words to block recent spam attack
Discourse AI spam detection "Scan log" is frequently truncated
Watched words: Does Discourse automatically remove unsupported html tag
Best practices for AI antispam plus AI post triage operating together?
Discourse AI - Large Language Model (LLM) settings page
Human-driven copy-paste spam
Responding to the error "You can’t log in from that IP address”, but IP not blocked"
Unlock All Discourse AI Features with Our Hosted LLM
Account left silenced without review when user deletes spam flagged post
"Needs Approval" review items from “Triage posts using AI” script of “Automation” plugin not visible to moderators
Setting up spam detection in your community
Testing automation rules
Strategies for filtering spam / AI user accounts?
Inappropriate posts are spamming the Anthias Discourse forums
AI integration for moderation
How do I configure AI Spam protection
Documentation around actions available to moderators somewhat lacking
What's the cheapest/best AI to use for AI Spam?
How do I configure AI Spam protection
A few questions related to moderation
Posts and account not always restored when flag from Discourse AI spam detection rejected
Setting up spam detection in your community
Discourse AI
How to prevent spam posts?

Hemos realizado bastantes pruebas con esto y no parece que obtengamos resultados fiables en absoluto. Como contexto, estamos utilizando el modelo gpt-4o.

Para probar su precisión, le di las siguientes instrucciones sencillas:

Eres un sistema de detección de spam. Analiza el siguiente contenido y contexto.
Notas a continuación. Si *ALGUNO* de los elementos es verdadero a continuación, márcalo como spam:
- El nombre de usuario es muy específicamente "testjon", entonces es *SIEMPRE* spam.
- Responde solo con "SPAM - ¡Es Jon!" o "NO ES SPAM".

Al probar en una publicación, con el nombre de usuario testjon, el resultado es NO ES SPAM. Parece que no está prestando atención a las instrucciones en absoluto. ¿Alguna sugerencia?

¿Han tenido otros alguna experiencia buena o mala con la detección de spam por IA?

No sé cómo son las cosas en esta situación, pero en general, la afirmación citada es muy propensa a fallar. No entiende qué significa ALGUNO y sigue felizmente mientras lo consigue. Y a partir de ahí, finalmente encontró NO ES SPAM.

1 me gusta

¿Estás diciendo que elimine el negrita para ANY? ¿O estás diciendo que la declaración en general de “si hay algún elemento abajo”?

Tengo que escribirlo de forma más lógica y exacta. No puedes dejar que una IA elija de ninguna manera. Recuerda que no puede contar y definitivamente no lee todo y luego regresa para intentar trabajar lógicamente. Intenta explicar de forma tan sencilla como si dieras instrucciones a un niño de 3 años perezoso con TDAH. Los ejemplos no están mal, pero aumentarán el uso de tokens.

1 me gusta

Esta es información increíble. Por ejemplo, ¿cómo podrías escribir este escenario exacto de manera diferente?

1 me gusta

Algo como…

Eres un sistema de detección de spam. Tu trabajo es analizar silenciosamente el contenido para mantener una alta calidad en este foro. Debes seguir las reglas para definir cuándo una publicación es spam. Cuando encuentres spam, tu respuesta se indica en las reglas. Solo usas respuestas indicadas.

## Reglas para spam

No hago esto por ti 😏 Pero necesitas algunas explicaciones y ejemplos. Como un ejemplo rápido y crudo:
* si una publicación tiene enlaces externos que están conectados a juegos de azar, sexo, criptomonedas, etc. similares (lo similar es arriesgado en este contexto, por cierto), entonces una publicación se clasifica como spam. Ejemplo: www.buy-crypto.deal

Esto debes ajustarlo caso por caso, porque obtendrás falsos positivos y falsos negativos.

Luego debes dar algunas pautas para el contenido también. Pero al probar:

* si el nombre de usuario es "testjon", omite el análisis del contenido y clasifícalo directamente como spam. Tu respuesta es "SPAM - es Jon"

Por cierto, ¿puede ver al usuario?

## Reglas para otro contenido

Cuando una publicación pasa el análisis de spam y estás seguro de que es contenido legítimo, tu única respuesta es "NO ES SPAM".

Algo así. Tienes que probar, por supuesto. Y cada vez que obtengas una respuesta incorrecta, intenta encontrar el punto confuso. Pero no le des a la IA la oportunidad de elegir qué puede hacer, porque entonces tomará la dirección última, más fácil o más agradable. Tiene la necesidad codificada de responder y ser feliz.

¡Acabo de habilitar esto y estoy emocionado de ver cómo va!

¿Hay alguna configuración o consideración para el nivel de confianza de los usuarios?

Por ejemplo: No necesito que la IA se active para TL2 y superiores, se han ganado su lugar y no deben ser considerados para el escaneo. Si se vuelven rebeldes, tendremos que hablar con ellos :sweat_smile:

Se dividieron 2 publicaciones en un nuevo tema: Falta el plugin AI de Discourse

Dado que esto reemplaza a Akismet, me pregunto cuál es la mejor alternativa para la detección/prevención de spam si no se desean los costos de LLM que conlleva la IA.

2 Me gusta

En realidad, Gemini 2.0 Flash está disponible de forma gratuita, siempre y cuando no le envíes un millón de solicitudes al día. Está funcionando bien para mi foro en este momento con cero costo, y es definitivamente más preciso y “más inteligente” que Akismet.

Sin embargo, si el plan de detección de spam con IA falla, todavía tengo el plugin Akismet instalado en mi sitio y listo para usar si alguna vez lo necesito de nuevo, y creo que todavía puedes instalarlo. (Dado que está siendo descontinuado, no espero que permanezca para siempre). También recuerda que los niveles de confianza son un núcleo fundamental de Discourse que te ayudan a gestionar el spam en tu sitio. :+1:

5 Me gusta

Genial, ¿es posible establecer un límite de tokens para asegurar que el límite (costo cero) esté presente desde el LLM?

2 Me gusta

Por lo que sé, creo que si excedes el límite, la API del LLM simplemente dejará de responder. Mi cuenta de Google Cloud Console no tiene una cuenta de facturación adjunta y todavía puedo usar la API de forma gratuita en el nivel gratuito, así que deberías estar bien. :+1:

5 Me gusta

Se dividió una publicación en un nuevo tema: Mejora de la detección de spam de IA para ediciones y fusiones

¿Dónde obtengo la “Clave API del servicio que aloja el modelo”?

Si estás en nuestro hosting, puedes usar LLM Small.

Si no, necesitas configurar un LLM y obtener una clave de OpenAI/Google/Anthropic/X/lo que sea…

3 Me gusta

Oh, una clave de API de ellos, no de Discourse.

2 Me gusta

Habilitar la detección de spam con IA con Gemini 2.0 Flash no parece haber ayudado a bloquear estas cosas. Nunca antes había pasado tanto spam obvio por el filtro. ¿Quizás está diseñado específicamente para sitios de Discourse?

| [Error de QuickBooks Payroll después de una actualización +1-800-223-1608 Resolución paso a paso](https://www.foodtalkcentral.com/t/quickbooks-payroll-error-after-an-update-1-800-223-1608-step-by-step-resolution/18669) [nuevo](https://www.foodtalkcentral.com/t/quickbooks-payroll-error-after-an-update-1-800-223-1608-step-by-step-resolution/18669 "nuevo tema") | [Américas - Canadá](https://www.foodtalkcentral.com/c/canada/7) | [![|24x24](upload://1Q8KV2bBz93mPnuYtm9iAYRdJbr.png "xabibe4257 - Creador del tema") ](https://www.foodtalkcentral.com/u/xabibe4257)[![|24x24](upload://q1duD7o9bzWuTP6aWjezml7TCYS.png "system - Último autor")](https://www.foodtalkcentral.com/u/system) | [1](https://www.foodtalkcentral.com/t/quickbooks-payroll-error-after-an-update-1-800-223-1608/18669/1) | 2 | [1h](https://www.foodtalkcentral.com/t/quickbooks-payroll-error-after-an-update-1-800-223-1608/18669/2) | |----|----|----|----|----|----| | [Comprensión del error de actualización de la tabla de impuestos de QuickBooks Payroll +1-800-223-1608](https://www.foodtalkcentral.com/t/understanding-quickbooks-payroll-tax-table-update-error-1-800-223-1608/18657) [nuevo](https://www.foodtalkcentral.com/t/understanding-quickbooks-payroll-tax-table-update-error-1-800-223-1608/18657 "nuevo tema") | [Américas - Canadá](https://www.foodtalkcentral.com/c/canada/7) | [![|24x24](upload://1Q8KV2bBz93mPnuYtm9iAYRdJbr.png "xabibe4257 - Creador del tema") ](https://www.foodtalkcentral.com/u/xabibe4257)[![|24x24](upload://q1duD7o9bzWuTP6aWjezml7TCYS.png "system - Último autor")](https://www.foodtalkcentral.com/u/system) | [1](https://www.foodtalkcentral.com/t/understanding-quickbooks-payroll-tax-table-update-error-1-800-223-1608/18657/1) | 2 | [1h](https://www.foodtalkcentral.com/t/understanding-quickbooks-payroll-tax-table-update-error-1-800-223-1608/18657/2) | | [Comprensión del error de QuickBooks Payroll PS107 +1-800-223-1608](https://www.foodtalkcentral.com/t/understanding-quickbooks-payroll-error-ps107-1-800-223-1608/18640) [nuevo](https://www.foodtalkcentral.com/t/understanding-quickbooks-payroll-error-ps107-1-800-223-1608/18640 "nuevo tema") | [Américas - Canadá](https://www.foodtalkcentral.com/c/canada/7) | [![|24x24](upload://1Q8KV2bBz93mPnuYtm9iAYRdJbr.png "xabibe4257 - Creador del tema") ](https://www.foodtalkcentral.com/u/xabibe4257)[![|24x24](upload://q1duD7o9bzWuTP6aWjezml7TCYS.png "system - Último autor")](https://www.foodtalkcentral.com/u/system) | [1](https://www.foodtalkcentral.com/t/understanding-quickbooks-payroll-error-ps107-1-800-223-1608/18640/1) | 2 | [2h](https://www.foodtalkcentral.com/t/understanding-quickbooks-payroll-error-ps107-1-800-223-1608/18640/2) | | [Lista completa de números de contacto de soporte al cliente de QuickBooks® en EE. UU.: Su guía de referencia experta](https://www.foodtalkcentral.com/t/full-list-of-quickbooks-customer-support-usa-contact-numbers-your-expert-guide/18517) [nuevo](https://www.foodtalkcentral.com/t/full-list-of-quickbooks-customer-support-usa-contact-numbers-your-expert-guide/18517 "nuevo tema") | [Américas - Canadá](https://www.foodtalkcentral.com/c/canada/7) | [![|24x24](upload://629dxMtGyMlino1LevLopQN2wkZ.png "domew40238 - Creador del tema") ](https://www.foodtalkcentral.com/u/domew40238)[![|24x24](upload://q1duD7o9bzWuTP6aWjezml7TCYS.png "system - Último autor")](https://www.foodtalkcentral.com/u/system) | [1](https://www.foodtalkcentral.com/t/full-list-of-quickbooks-customer-support-usa-contact-numbers-your-expert-guide/18517/1) | 2 | [5h](https://www.foodtalkcentral.com/t/full-list-of-quickbooks-customer-support-usa-contact-numbers-your-expert-guide/18517/2) | | [Guía de referencia 2025: Números completos de soporte y errores de QuickBooks® Payroll](https://www.foodtalkcentral.com/t/complete-quickbooks-payroll-error-support-numbers-2025-reference-guide/18516) [nuevo](https://www.foodtalkcentral.com/t/complete-quickbooks-payroll-error-support-numbers-2025-reference-guide/18516 "nuevo tema") | [Asia](https://www.foodtalkcentral.com/c/asia/39) | [![|24x24](upload://629dxMtGyMlino1LevLopQN2wkZ.png "domew40238 - Creador del tema") ](https://www.foodtalkcentral.com/u/domew40238)[![|24x24](upload://q1duD7o9bzWuTP6aWjezml7TCYS.png "system - Último autor")](https://www.foodtalkcentral.com/u/system) | [1](https://www.foodtalkcentral.com/t/complete-quickbooks-payroll-error-support-numbers-2025-reference-guide/18516/1) | 2 | [5h](https://www.foodtalkcentral.com/t/complete-quickbooks-payroll-error-support-numbers-2025-reference-guide/18516/2) | | [{Guía de experto\~} Información de contacto de soporte de QuickBooks® Payroll – Guía de EE. UU. 2025](https://www.foodtalkcentral.com/t/expert-guide-quickbooks-payroll-support-contact-info-2025-usa-guide/18509) [nuevo](https://www.foodtalkcentral.com/t/expert-guide-quickbooks-payroll-support-contact-info-2025-usa-guide/18509 "nuevo tema") | [Américas - Canadá](https://www.foodtalkcentral.com/c/canada/7) | [![|24x24](upload://629dxMtGyMlino1LevLopQN2wkZ.png "domew40238 - Creador del tema") ](https://www.foodtalkcentral.com/u/domew40238)[![|24x24](upload://q1duD7o9bzWuTP6aWjezml7TCYS.png "system - Último autor")](https://www.foodtalkcentral.com/u/system) | [1](https://www.foodtalkcentral.com/t/expert-guide-quickbooks-payroll-support-contact-info-2025-usa-guide/18509/1) | 4 | [5h](https://www.foodtalkcentral.com/t/expert-guide-quickbooks-payroll-support-contact-info-2025-usa-guide/18509/2) | | [{Llamar@ +1-855-510-6777} ¿Cómo puedo hablar con el soporte de reservas de paquetes de vacaciones de ~~$#Expedia?](https://www.foodtalkcentral.com/t/call-1-855-510-6777-how-can-i-talk-to-expedia-vacation-package-booking-support/18512) [nuevo](https://www.foodtalkcentral.com/t/call-1-855-510-6777-how-can-i-talk-to-expedia-vacation-package-booking-support/18512 "nuevo tema") | [Luisiana](https://www.foodtalkcentral.com/c/usa-south/louisiana/31) | [![|24x24](upload://kK4P84w88VXUqJZGohlzqgRusk0.png "avacarter - Creador del tema") ](https://www.foodtalkcentral.com/u/avacarter)[![|24x24](upload://q1duD7o9bzWuTP6aWjezml7TCYS.png "system - Último autor")](https://www.foodtalkcentral.com/u/system) | [1](https://www.foodtalkcentral.com/t/call-1-855-510-6777-how-can-i-talk-to-expedia-vacation-package-booking-support/18512/1) | 6 | [5h](https://www.foodtalkcentral.com/t/call-1-855-510-6777-how-can-i-talk-to-expedia-vacation-package-booking-support/18512/2) | | [Lista completa de soporte del Caribe™ – La guía oficial detallada](https://www.foodtalkcentral.com/t/complete-list-of-caribbean-support-the-detailed-official-guide/18496) [nuevo](https://www.foodtalkcentral.com/t/complete-list-of-caribbean-support-the-detailed-official-guide/18496 "nuevo tema") | [Asia](https://www.foodtalkcentral.com/c/asia/39) | [![|24x24](upload://9bJJjoqN6VZ8Wcp9uHm0DxK3AYf.png "jofohe - Creador del tema") ](https://www.foodtalkcentral.com/u/jofohe)[![|24x24](upload://q1duD7o9bzWuTP6aWjezml7TCYS.png "system - Último autor")](https://www.foodtalkcentral.com/u/system) | [1](https://www.foodtalkcentral.com/t/complete-list-of-caribbean-support-the-detailed-official-guide/18496/1) | 2 | [6h](https://www.foodtalkcentral.com/t/complete-list-of-caribbean-support-the-detailed-official-guide/18496/2) | | [\[Llamar^Agente^Directo\] ¿Qué número conecta con el soporte de paquetes de vacaciones de Expedia? {Marcar +1-855-510-6777}](https://www.foodtalkcentral.com/t/call-agent-direct-what-number-connects-to-expedia-vacation-package-support-dial-1-855-510-6777/18479) [nuevo](https://www.foodtalkcentral.com/t/call-agent-direct-what-number-connects-to-expedia-vacation-package-support-dial-1-855-510-6777/18479 "nuevo tema") | [Américas - Canadá](https://www.foodtalkcentral.com/c/canada/7) |

Tu clave de API no es válida, por lo que no está realizando ninguna prueba.

Si realizas una prueba en https://www.foodtalkcentral.com/admin/plugins/discourse-ai/ai-spam y pegas esa URL, obtendrás un error 500. Si te adentras en los registros en
/var/discourse/shared/web-only/log/rails/production.log y buscas " 500 ", verás

Completed 200 OK in 399ms (Views: 123.1ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 22.9ms)
DiscourseAi::Completions::Endpoints::Gemini: status: 400 - body: {
  "error": {
    "code": 400,
    "message": "API key not valid. Please pass a valid API key.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "API_KEY_INVALID",
        "domain": "googleapis.com",
        "metadata": {
          "service": "generativelanguage.googleapis.com"
        }
      },
      {
        "@type": "type.googleapis.com/google.rpc.LocalizedMessage",
        "locale": "en-US",
        "message": "API key not valid. Please pass a valid API key."
      }
    ]
  }
}
1 me gusta

Oh, gracias. Seleccioné accidentalmente Gemini 2.0 Flash en lugar de Gemini 2.0 Flash Lite. Ahora funciona correctamente.

1 me gusta