다음 설정으로 Discourse AI 플러그인을 성공적으로 구성했습니다:
- LLM 모델:
gpt-3.5-turbo
- 임베딩 모델:
text-embedding-3-small
또한 /sidekiq/scheduler에서 백그라운드 작업을 트리거했습니다:
Jobs::EmbeddingsBackfill
Jobs::SummariesBackfill
두 작업 모두 성공 상태로 완료되었습니다. 또한 임베딩 모델 테스트도 성공적인 응답을 반환했습니다.
그러나 다음과 같은 두 가지 미해결 문제가 있습니다:
- AI 시맨틱 검색:
- 검색 인터페이스의 AI 검색 토글이 비활성화 상태로 유지되어 켤 수 없습니다.
- 일치하는 콘텐츠가 존재함에도 불구하고 항상 "죄송합니다. AI 검색에서 일치하는 주제를 찾을 수 없습니다"라는 메시지가 표시됩니다.
- AI 요약:
- 모든 요약 관련 설정과 페르소나가 올바르게 활성화되어 있음에도 불구하고 어떤 주제 페이지에서도 “AI 요약” 버튼이나 출력을 볼 수 없습니다.
AI 헬퍼(컴포저 어시스턴트)는 정상적으로 작동하지만, 백필(backfill) 작업이 성공을 보고했음에도 기존 주제에 임베딩이 적용되지 않은 것으로 추정되는 이유로 AI 검색 및 AI 요약 기능(요약 버튼 미표시)은 비활성 상태입니다.
sam
(Sam Saffron)
3
ai_summarization_enabled와 ai_embeddings_semantic_search_enabled를 활성화하셨나요? /logs에 문제가 표시되고 있나요?
Sam님,
요약(Summarize) 문제를 해결했습니다. 신뢰 수준(trust level) 설정과 관련이 있었던 것으로 밝혀졌습니다. 하지만 AI 검색 기능에서는 여전히 문제가 발생하고 있습니다. 구체적으로, AI를 활성화하기 위한 버튼을 토글할 수 없습니다.
다음 명령을 사용하여 백엔드에서 수동으로 활성화하려고 시도했습니다:
ruby
CopyEdit
DiscourseAi::Embeddings::CreateEmbeddings.new(model: "text-embedding-3-small").embed("This is a test")
그 후 다음 명령으로 임베딩(embedding) 개수를 확인했습니다:
ruby
CopyEdit
DiscourseAi::Embeddings::TopicEmbedding.count
불행히도 개수는 여전히 0으로, 수동으로 트리거하더라도 임베딩이 생성되지 않는 것으로 보입니다. 일부 파일이 제대로 업데이트되지 않았을 것 같아 AI 플러그인을 다시 구축(rebuild)해 보았지만, 문제는 계속되고 있습니다.
저도 이 문제를 겪고 있지만, 요약 기능은 정상적으로 작동합니다. 인용된 옵션들을 활성화했고, 인스턴스가 이미 임베딩(embedding)을 수행하고 있는지 확인했습니다.
NoMethodError (undefined method `-' for nil) app/controllers/application_controller.rb:428:in `block in with_resolved_locale' app/controllers/application_controller.rb:428:in `with_resolved_locale' li
NoMethodError (undefined method `-' for nil)
app/controllers/application_controller.rb:428:in `block in with_resolved_locale'
app/controllers/application_controller.rb:428:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
lib/middleware/default_headers.rb:13:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:385:in `call'
plugins/discourse-ai/lib/completions/dialects/chat_gpt.rb:40:in `max_prompt_tokens'
plugins/discourse-ai/lib/completions/dialects/dialect.rb:134:in `trim_messages'
plugins/discourse-ai/lib/completions/dialects/dialect.rb:83:in `translate'
plugins/discourse-ai/lib/completions/endpoints/base.rb:113:in `perform_completion!'
plugins/discourse-ai/lib/completions/endpoints/open_ai.rb:53:in `perform_completion!'
plugins/discourse-ai/lib/completions/llm.rb:374:in `generate'
plugins/discourse-ai/lib/configuration/llm_validator.rb:36:in `run_test'
plugins/discourse-ai/app/controllers/discourse_ai/admin/ai_llms_controller.rb:128:in `test'
actionpack (7.2.2.1) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:226:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rendering.rb:193:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:428:in `block in with_resolved_locale'
i18n (1.14.7) lib/i18n.rb:353:in `with_locale'
app/controllers/application_controller.rb:428:in `with_resolved_locale'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rescue.rb:27:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:77:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `block in instrument'
activesupport (7.2.2.1) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `instrument'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:76:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.2.2.1) lib/active_record/railties/controller_runtime.rb:39:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:163:in `process'
actionview (7.2.2.1) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:115:in `block in profile_method'
actionpack (7.2.2.1) lib/action_controller/metal.rb:252:in `dispatch'
actionpack (7.2.2.1) lib/action_controller/metal.rb:335:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:50:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/routing/mapper.rb:32:in `block in <class:Constraints>'
actionpack (7.2.2.1) lib/action_dispatch/routing/mapper.rb:62:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:53:in `block in serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `each'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:34:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:896:in `call'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
rack (2.2.13) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.13) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.13) lib/rack/head.rb:12:in `call'
actionpack (7.2.2.1) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
rack (2.2.13) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.13) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
logster (2.20.1) lib/logster/middleware/reporter.rb:40:in `call'
lib/middleware/default_headers.rb:13:in `call'
railties (7.2.2.1) lib/rails/rack/logger.rb:41:in `call_app'
railties (7.2.2.1) lib/rails/rack/logger.rb:29:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/request_id.rb:33:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.13) lib/rack/method_override.rb:24:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'
rack (2.2.13) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:334:in `call'
lib/middleware/processing_request.rb:12:in `call'
message_bus (4.4.1) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:385:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
railties (7.2.2.1) lib/rails/engine.rb:535:in `call'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `public_send'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.13) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.13) lib/rack/urlmap.rb:58:in `each'
rack (2.2.13) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'
메타 사이트에서는 저에게 의미론적 검색(Semantic search)도 작동하지 않게 되었습니다. 아마도 신뢰 수준(trust level) 때문일까요?
음, 의미론적 검색은 작동하려면 몇 단어가 필요하고 또한 관련성에 따라 검색을 정렬해야 합니다.
@Steve_John 문제를 해결할 수 있었나요? 해결하셨다면 여기에서 해결 방법을 공유해 주시겠어요? 그렇지 않다면 이 주제를 닫는 것이 나을 것 같습니다.
Falco님이 좋은 트러블슈팅 조언을 제공한 것 같습니다: