Instalé el plugin Discourse AI, configuré Gemini y habilité algunos módulos: Resumen, Sentimiento, Temas Relacionados, Búsqueda IA y Toxicidad.
Al principio funcionó muy bien, el botón de Resumen apareció y generó el contenido.
Tan pronto como habilité las opciones de Sentimiento y Toxicidad, el Resumen dejó de funcionar, es decir, el botón de Resumen desapareció de todos los temas. La pestaña de sentimiento en el panel no muestra datos para mostrar.
Cuando reviso los registros de Discourse, veo estos errores:
Mensaje
Error del trabajo: ERROR: debe ser propietario de la base de datos discourse
Rastreo
rack-mini-profiler-3.3.0/lib/patches/db/pg.rb:110:in `exec'
rack-mini-profiler-3.3.0/lib/patches/db/pg.rb:110:in `async_exec'
mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:202:in `run'
mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:181:in `exec'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/vector_representations/base.rb:154:in `create_index!'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/vector_representations/base.rb:71:in `block in consider_indexing'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/vector_representations/base.rb:49:in `each'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/vector_representations/base.rb:49:in `consider_indexing'
/var/www/discourse/plugins/discourse-ai/app/jobs/scheduled/embeddings_backfill.rb:38:in `execute'
/var/www/discourse/app/jobs/base.rb:297:in `block (2 levels) in perform'
rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in `with_connection'
/var/www/discourse/app/jobs/base.rb:284:in `block in perform'
/var/www/discourse/app/jobs/base.rb:280:in `each'
/var/www/discourse/app/jobs/base.rb:280:in `perform'
/var/www/discourse/app/jobs/base.rb:351:in `perform'
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:122:in `process_queue'
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:70:in `worker_loop'
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:59:in `block (2 levels) in ensure_worker_threads'
[quote=“Falco, post:3, topic:295232, username:Falco”]en la base de datos de Discourse. Sugiero revisar tus permisos.
[/quote]
Lo siento, pero no tengo ni idea de esto. Simplemente seguí las instrucciones de este tema (y los otros temas de módulos de IA), instalé el plugin, reconstruí Discourse y lo configuré desde la página de administración.
No vi ningún paso relacionado con la configuración de los permisos de usuario. ¿Me perdí algún paso o podría ser un escenario excepcional que no se maneja en el script de instalación/compilación?
Parece que el usuario de la base de datos en instalaciones autoalojadas carece de los permisos para establecer esto. Una mejor manera de establecer esto se está rastreando upstream, esperemos una solución allí un poco antes de intentar manejarlo
Gracias por la actualización, Falco. ¿Podrías informarme sobre las características o el impacto de esto y/o si está relacionado con los errores de registro o alguna funcionalidad de IA que no funcione? De esa manera, sabré qué esperar o qué no funcionará y si necesito deshabilitar temporalmente esas funciones para evitar otros problemas que puedan surgir de este error.
EDITAR: Parece que el número de sondeos se calcula en función del número de elementos en la base de datos. Me pregunto si esto podría configurarse durante una reconstrucción (por lo que, si bien la base de datos puede crecer con el tiempo, cada vez que se actualiza Discourse, se optimizará hasta que haya una solución en tiempo de ejecución). Temporalmente, en tiempo de ejecución, comprueba si hay permisos de SUPERUSUARIO antes de intentar alterarlo.