Quería desactivar toda la integración de IA en mi sitio y me complace mucho que sea una única configuración. Una respuesta a lo que busca el OP podría ser el equivalente a discourse_ai_enabled, pero a nivel de usuario. De esta manera, la IA no estaría simplemente activada o desactivada para todo el sitio. Incluso las funciones de IA que están activadas a nivel del sitio podrían suprimirse a nivel de usuario. La lógica de discourse_ai_enabled sería entonces: sitio == verdadero y por usuario == verdadero.
Aunque es generalmente cierto que piensan en agregar nuevas opciones de personalización para evitar una complejidad innecesaria, la IA es la función con el mayor número de configuraciones ajustables. En el breve lapso de tiempo que la IA ha existido, parece haberse convertido en la función más personalizable de Discourse.[1]
Aquí tienes un análisis rápido y sucio. Soy relativamente nuevo aquí, así que muestro mi trabajo por si he cometido algún error.
su discourse -c 'bundle exec rails runner "SiteSetting.defaults.all.keys.sort.each { |k| puts k }"' > keys.txt
wc -l keys.txt
1663 keys.txt
cut -d _ -f 1 keys.txt | sort | uniq -c | sort -rn > counts.txt
Si esta es la forma correcta de contarlos, hay 1663 configuraciones de sitio posibles. De ellas, 104 comienzan con ai_ y 3 configuraciones de IA no lo hacen (composer_ai_helper_allowed_groups, discourse_ai_enabled y post_ai_helper_allowed_groups). Por lo tanto, según mi cálculo, la IA es el grupo más grande de configuraciones personalizadas, por mucho (107/1663 o el 6,4 % de todas las configuraciones de sitio). Aquí están las 10 principales:
- 107 ai
- 84 discourse
- 83 chat
- 71 max
- 65 enable
- 48 default
- 30 dfp
- 28 oauth2
- 28 amazon
- 28 allow
Por un lado, la supresión de funciones de IA por usuario es solo 1 más de 1663. Por otro lado, podría ser difícil verificarlo a nivel de usuario cuando muchas rutas de código lo verifican a nivel de sitio. Es un compromiso sobre el cual no estoy calificado para especular.
También es una función bastante bien definida y autocontenida, y relativamente nueva, por lo que su nomenclatura consistente con
ai_hace que sea más fácil contar sus configuraciones en comparación con otros componentes. Por eso digo que es un análisis rápido y sucio. ↩︎