Ich habe „AI Embeddings Semantic Search“ auf meiner Website aktiviert, aber whenever ich versuche, etwas zu suchen, erhalte ich einen 500 Internal Server Error und es werden keine Ergebnisse zurückgegeben. Die reguläre Suche funktioniert einwandfrei, wenn ich diese Einstellung deaktiviere.
Hier ist, was ich in der Browserkonsole sehe:
static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496:1 Failed to load resource: net::ERR_BLOCKED_BY_CLIENT
app.js:365 ℹ️ Discourse v2026.7.0-latest — https://github.com/discourse/discourse/commits/9981e29915 — Ember v6.10.1
/discourse-ai/embeddings/semantic-search?q=asd:1 Failed to load resource: the server responded with a status of 500 ()
ajax.js:233 GET https://btt.community/discourse-ai/embeddings/semantic-search?q=discourse 500 (Internal Server Error)
send @ jquery.js:9940
ajax @ jquery.js:9521
i @ ajax.js:233
$ @ ajax.js:252
performHyDESearch @ ai-full-page-search.gjs:228
onSearch @ ai-full-page-search.gjs:64
sendEvent @ cache-DtDz7X5V.js:471
trigger @ evented.js:68
search @ full-page-search.js:623
(anonymous) @ index.js:2534
$h @ ember-text-field.gjs:46
insertNewline @ ember-text-field.gjs:155
interpretKeyEvents @ ember-text-field.gjs:142
keyUp @ ember-text-field.gjs:177
_trigger @ core_view.js:75
superWrapper @ mandatory-setter-CXNsxygN.js:311
_trigger @ ember-events.js:138
superWrapper @ mandatory-setter-CXNsxygN.js:311
(anonymous) @ ember-events.js:199
Ich habe auch einen Screenshot des Fehlers angehängt.
Hat jemand schon einmal dieses Problem gehabt oder weiß jemand, was die Ursache sein könnte / was ich auf meiner Seite überprüfen sollte (Einstellungen, API-Schlüssel, Protokolle usw.)? Jede Hilfe wäre dankbar.
Ja, habe ich. Ich habe ein Gemini-Embeddings-Modell auf der KI-Einstellungsseite konfiguriert, und die Schaltfläche Test ausführen wurde erfolgreich mit dem Ergebnis Erfolg! abgeschlossen, wie im Screenshot gezeigt. Das Embeddings-Modell scheint also korrekt konfiguriert zu sein.
Es gibt wahrscheinlich auch weitere Informationen in /logs, da Fehler vom Typ 500 dort protokolliert werden. Könntest du das prüfen?
Die Meldung „Erfolg!“ bestätigt lediglich, dass die API-Anmeldeinformationen und der Endpunkt funktionieren, testet jedoch nicht den semantischen Suchprozess.
Fehler ERROR: Es wurden 768 Dimensionen erwartet, nicht 3072 beim Abfragen von Embeddings für das Modell gemini:
Nachricht (15 Meldungen gemeldet)
Fehler ERROR: Es wurden 768 Dimensionen erwartet, nicht 3072
beim Abfragen von Embeddings für das Modell gemini
Stacktrace
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.5/lib/active_support/broadcast_logger.rb:218:in 'block in ActiveSupport::BroadcastLogger#dispatch'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.5/lib/active_support/broadcast_logger.rb:217:in 'Array#map'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.5/lib/active_support/broadcast_logger.rb:217:in 'ActiveSupport::BroadcastLogger#dispatch'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.5/lib/active_support/broadcast_logger.rb:129:in 'ActiveSupport::BroadcastLogger#error'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/schema.rb:188:in 'DiscourseAi::Embeddings::Schema#asymmetric_similarity_search'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/semantic_search.rb:89:in 'DiscourseAi::Embeddings::SemanticSearch#search_for_topics'
/var/www/discourse/plugins/discourse-ai/app/controllers/discourse_ai/embeddings/embeddings_controller.rb:70:in 'block in DiscourseAi::Embeddings::EmbeddingsController#search'
/var/www/discourse/lib/hijack.rb:68:in 'BasicObject#instance_eval'
/var/www/discourse/lib/hijack.rb:68:in 'block (2 levels) in Hijack#hijack'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'
/var/www/discourse/lib/hijack.rb:68:in 'block in Hijack#hijack'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:911:in 'Concurrent::Promises::Event#callback_on_resolution'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:797:in 'Concurrent::Promises::AbstractEventFuture#call_callback'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:803:in 'Concurrent::Promises::AbstractEventFuture#call_callbacks'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:692:in 'Concurrent::Promises::AbstractEventFuture#resolve_with'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:1325:in 'Concurrent::Promises::ResolvableEvent#resolve'
/var/www/discourse/lib/scheduler/defer.rb:135:in 'block in Scheduler::Deferrable#do_work'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in 'RailsMultisite::ConnectionManagement::NullInstance#with_connection'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in 'RailsMultisite::ConnectionManagement.with_connection'
/var/www/discourse/lib/scheduler/defer.rb:130:in 'Scheduler::Deferrable#do_work'
/var/www/discourse/lib/scheduler/defer.rb:116:in 'block (2 levels) in Scheduler::Deferrable#start_thread'
Umgebung
HTTP HOSTS: zensiert
Fehler bei der Verarbeitung der umgeleiteten Antwort : DiscourseAi::Embeddings::Schema::MissingEmbeddingError : DiscourseAi::Embeddings::Schema::MissingEmbeddingError
Nachricht (15 Meldungen gemeldet)
Fehler bei der Verarbeitung der umgeleiteten Antwort : DiscourseAi::Embeddings::Schema::MissingEmbeddingError : DiscourseAi::Embeddings::Schema::MissingEmbeddingError
Stacktrace
/var/www/discourse/plugins/discourse-ai/lib/embeddings/schema.rb:189:in 'DiscourseAi::Embeddings::Schema#asymmetric_similarity_search'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/semantic_search.rb:89:in 'DiscourseAi::Embeddings::SemanticSearch#search_for_topics'
/var/www/discourse/plugins/discourse-ai/app/controllers/discourse_ai/embeddings/embeddings_controller.rb:70:in 'block in DiscourseAi::Embeddings::EmbeddingsController#search'
/var/www/discourse/lib/hijack.rb:68:in 'BasicObject#instance_eval'
/var/www/discourse/lib/hijack.rb:68:in 'block (2 levels) in Hijack#hijack'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'
/var/www/discourse/lib/hijack.rb:68:in 'block in Hijack#hijack'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:911:in 'Concurrent::Promises::Event#callback_on_resolution'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:797:in 'Concurrent::Promises::AbstractEventFuture#call_callback'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:803:in 'Concurrent::Promises::AbstractEventFuture#call_callbacks'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:692:in 'Concurrent::Promises::AbstractEventFuture#resolve_with'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:1325:in 'Concurrent::Promises::ResolvableEvent#resolve'
/var/www/discourse/lib/scheduler/defer.rb:135:in 'block in Scheduler::Deferrable#do_work'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in 'RailsMultisite::ConnectionManagement::NullInstance#with_connection'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in 'RailsMultisite::ConnectionManagement.with_connection'
/var/www/discourse/lib/scheduler/defer.rb:130:in 'Scheduler::Deferrable#do_work'
/var/www/discourse/lib/scheduler/defer.rb:116:in 'block (2 levels) in Scheduler::Deferrable#start_thread'
Umgebung
HTTP HOSTS: btt.community
Anscheinend musste ich die Embeddings-Konfiguration für Gemini in meinen Discourse-AI-Admin-Einstellungen einfach neu erstellen und die Embedding-Dimensionen auf 3072 setzen. Ich vermute, diese Konfiguration wurde vor einiger Zeit erstellt, als der Standardwert noch bei 768 lag.
Danke an @nat, dass du mich darauf hingewiesen hast, die Logs zu überprüfen!