AI 모듈이 갑자기 작동하지 않음

Discourse AI 플러그인을 설치하고 Gemini를 설정한 후, 요약(Summarization), 감정 분석(Sentiment), 관련 주제(Related Topics), AI 검색(AI Search) 및 독성 분석(Toxicity) 모듈을 몇 개 활성화했습니다.

처음에는 잘 작동하여 요약 버튼이 표시되고 콘텐츠가 생성되었습니다.

하지만 감정 분석과 독성 분석 옵션을 활성화하자마자 요약 기능이 작동하지 않게 되었습니다. 즉, 모든 주제에서 요약 버튼이 사라졌습니다. 대시보드의 감정 분석 탭에는 표시할 데이터가 없다고 나와 있습니다.

discourse 로그를 확인하면 다음과 같은 오류가 보입니다:

Message

Job exception: ERROR:  must be owner of database discourse



Backtrace

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' 

4개의 게시글이 새 주제로 분리되었습니다: Discourse AI can’t set ivfflat.probes on self-hosted installs

이것은 Discourse 데이터베이스에서

https://github.com/discourse/discourse-ai/blob/main/lib/embeddings/vector_representations/base.rb#L154

을 실행할 권한이 데이터베이스 사용자에게 없다는 의미입니다. 권한 설정을 확인해 보시길 권합니다.

죄송하지만 이 부분은 전혀 감이 잡히지 않습니다. 저는 이 주제(그리고 다른 AI 모듈 주제들)의 설명에 따라 플러그인을 설치하고, Discourse를 재빌드한 뒤, 관리자 페이지에서 설정하는 절차만 따랐습니다.

사용자 권한 설정에 대한 단계는 보이지 않았습니다. 제가 어떤 단계를 놓친 것일까요, 아니면 설치/빌드 스크립트에서 처리되지 않는 예외적인 상황일까요?

  • 어떻게 하면 되나요?
  • 플러그인을 설치하고 재빌드할 때 자동으로 설정되지 않나요?

@Falco 이 부분에 대해 의견이 있으신가요?

자체 호스팅 설치 환경에서 데이터베이스 사용자가 이 설정을 변경할 권한이 없는 것 같습니다. 더 나은 설정 방법은 업스트림에서 추적되고 있으니, 직접 처리하기 전에 해당 수정이 적용될 때까지 조금 기다려 보겠습니다.

1개의 좋아요

업데이트를 알려주셔서 감사합니다, Falco. 이 기능의 내용이나 영향, 그리고 로그 오류나 특정 AI 기능과 관련이 있는지, 즉 어떤 기능이 작동하지 않을지 알려주시면 어떤 영향을 받을지 예상하고, 문제가 발생할 수 있는 기능을 임시로 비활성화해야 하는지 판단할 수 있을 것 같습니다.

수정: 이 숫자는 데이터베이스의 항목 수를 기준으로 계산되는 것 같습니다. 재빌드 시 이 값을 설정할 수 있는지 궁금합니다. (데이터베이스가 시간이 지남에 따라 증가할 수 있지만, Discourse가 업그레이드될 때마다 런타임 수정이 이루어질 때까지 최적화가 수행됩니다.) 임시 조치로, 런타임에서 변경을 시도하기 전에 SUPERUSER 권한이 있는지 확인하는 것이 좋겠습니다.

1개의 좋아요

이 문제는 새로운 AI 빠른 검색 기능의 일부로 수정되었습니다

2개의 좋아요

좋아요. 지금 업그레이드를 진행하겠습니다. 이전 프로세스를 시작하기 위해 제가 해야 할 것이 있나요?

1개의 좋아요

이 주제는 38시간 후 자동으로 닫혔습니다. 더 이상 새 답글을 작성할 수 없습니다.