Skip to main content

AI (Anthropic)

Modulo global que proporciona integracion con la API de Anthropic (Claude) para generacion de texto. Actualmente utilizado para insights automaticos en el modulo de encuestas.

Configuracion

El modulo es global — disponible en toda la aplicacion sin necesidad de importarlo. Si ANTHROPIC_API_KEY no esta configurada, el servicio retorna null silenciosamente (graceful degradation).

Servicio

AiService expone un unico metodo:
Timeout: 30 segundos por request.

Survey Insights

La principal aplicacion del modulo AI es la generacion de insights para encuestas.

Tabla survey_insights

Unique constraint: (survey_id, scope_type, scope_id, section)

Cache e invalidacion

  • Los insights se cachean en la tabla survey_insights
  • Se invalidan automaticamente cuando total_responses actual difiere del cacheado (nuevas respuestas)
  • La regeneracion es fire-and-forget (no bloquea el request del usuario)
  • Deduplicacion de requests en vuelo (prevencion de thundering herd)

Rate limiting

  • Maximo 3 generaciones por dia por combinacion survey_id + scope_type + scope_id + section
  • Cuando se alcanza el limite, se sirve el cache existente (aunque sea stale)
  • El contador se resetea diariamente

Prompts

Los prompts estan en espanol y analizan:
  • Distribucion de respuestas por pregunta
  • Tendencias y patrones
  • Recomendaciones accionables

Estructura de modulo