RBoy
(RBoy)
1
Discourse を 2.6.0 beta 2 にアップデートした後、埋め込みが機能しなくなり、その理由を特定できません。
Gemini Flash および Flash Lite LLM を使用しており、これらは正常に機能し、AI ボットも動作しています。
しかし、埋め込みモデルに移動して Gemini 埋め込みで test を実行すると、このエラーが発生します(ログにも同様のエラーが多数記録されています)。
モデルへの連絡を試みたところ、次のエラーが発生しました: { "error": { "code": 429, "message": "現在のクォータを超過しました。プランと請求の詳細を確認してください。このエラーの詳細については、以下を参照してください: https://ai.google.dev/gemini-api/docs/rate-limits。\n* メトリックのクォータ超過: generativelanguage.googleapis.com/embed_content_free_tier_requests、制限: 0\n* メトリックのクォータ超過: generativelanguage.googleapis.com/embed_content_free_tier_requests、制限: 0\n* メトリックのクォータ超過: generativelanguage.googleapis.com/embed_content_free_tier_requests、制限: 0\n* メトリックのクォータ超過: generativelanguage.googleapis.com/embed_content_free_tier_requests、制限: 0", "status": "RESOURCE_EXHAUSTED", "details": [ { "@type": "type.googleapis.com/google.rpc.QuotaFailure", "violations": [ { "quotaMetric": "generativelanguage.googleapis.com/embed_content_free_tier_requests", "quotaId": "EmbedContentRequestsPerMinutePerProjectPerModel-FreeTier" }, { "quotaMetric": "generativelanguage.googleapis.com/embed_content_free_tier_requests", "quotaId": "EmbedContentRequestsPerMinutePerUserPerProjectPerModel-FreeTier" }, { "quotaMetric": "generativelanguage.googleapis.com/embed_content_free_tier_requests", "quotaId": "EmbedContentRequestsPerDayPerUserPerProjectPerModel-FreeTier" }, { "quotaMetric": "generativelanguage.googleapis.com/embed_content_free_tier_requests", "quotaId": "EmbedContentRequestsPerDayPerProjectPerModel-FreeTier" } ] }, { "@type": "type.googleapis.com/google.rpc.Help", "links": [ { "description": "Gemini API のクォータについてさらに詳しく知る", "url": "https://ai.google.dev/gemini-api/docs/rate-limits" } ] } ] } }
これは 3.6.0 beta 1 までは正常に機能していましたが、beta 2 にアップデートしてからこのエラーが発生するようになりました。LLM と同じキーをこの埋め込みにも使用しています。新しいキーを生成したり、48 時間待ったりしましたが、何も解決しません。
なぜ突然機能しなくなったのか、LLM AI ボットは機能するのに埋め込みは機能しないのか、そしてこれをどのように修正すればよいのか、誰かアドバイスをいただけますか?
RBoy
(RBoy)
2
自分で投稿に回答します。問題はビルドではなく、タイミングです。10月にGoogleは現在の埋め込みモデル(embedding-001)を廃止したため、動作しなくなりました。新しいモデルは gemini-embedding-001 です。
埋め込み構成を次のように変更する必要があります。
https://generativelanguage.googleapis.com/v1beta/models/embedding-001:embedContent
から
https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent
へ
詳細はここで確認できます:https://ai.google.dev/gemini-api/docs/embeddings
@Falco、DiscourseでデフォルトのGemini構成を更新する必要があるかもしれません。新しいGemini埋め込みを作成する際に、gemini-embedding-001 の代わりにまだ embedding-001 が使用されています。
「いいね!」 1
RBoy
(RBoy)
3
…そして、ディスコースが新しい gemini-embedding-001 モデルを処理できるように設定されていないようです。 テストを実行する は正常に機能しますが、フォーラムを検索しようとすると、ログに次のエラーが表示されます。
メッセージ (2件報告あり)
エラー ERROR: 期待される次元数は768ですが、3072でした
モデルgeminiの埋め込みをクエリしています
バックトレース
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.3/lib/active_support/broadcast_logger.rb:218:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.3/lib/active_support/broadcast_logger.rb:217:in `map'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.3/lib/active_support/broadcast_logger.rb:217:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.3/lib/active_support/broadcast_logger.rb:129:in `error'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/schema.rb:192:in `rescue in asymmetric_similarity_search'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/schema.rb:139:in `asymmetric_similarity_search'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/semantic_search.rb:89:in `search_for_topics'
/var/www/discourse/plugins/discourse-ai/app/controllers/discourse_ai/embeddings/embeddings_controller.rb:56:in `block in search'
/var/www/discourse/lib/hijack.rb:68:in `instance_eval'
/var/www/discourse/lib/hijack.rb:68:in `block (2 levels) in hijack'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/i18n-1.14.7/lib/i18n.rb:353:in `with_locale'
/var/www/discourse/lib/hijack.rb:68:in `block in hijack'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:911:in `callback_on_resolution'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:797:in `call_callback'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:803:in `call_callbacks'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:692:in `resolve_with'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:1325:in `resolve'
/var/www/discourse/lib/scheduler/defer.rb:125:in `block in do_work'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in `with_connection'
/var/www/discourse/lib/scheduler/defer.rb:119:in `do_work'
/var/www/discourse/lib/scheduler/defer.rb:105:in `block (2 levels) in start_thread'
メッセージ (2件報告あり)
乗っ取られたレスポンスを正しく処理できませんでした: DiscourseAi::Embeddings::Schema::MissingEmbeddingError : DiscourseAi::Embeddings::Schema::MissingEmbeddingError
バックトレース
/var/www/discourse/plugins/discourse-ai/lib/embeddings/schema.rb:193:in `rescue in asymmetric_similarity_search'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/schema.rb:139:in `asymmetric_similarity_search'
/var/www/discourse/plugins/discourse-ai/lib/embeddings/semantic_search.rb:89:in `search_for_topics'
/var/www/discourse/plugins/discourse-ai/app/controllers/discourse_ai/embeddings/embeddings_controller.rb:56:in `block in search'
/var/www/discourse/lib/hijack.rb:68:in `instance_eval'
/var/www/discourse/lib/hijack.rb:68:in `block (2 levels) in hijack'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/i18n-1.14.7/lib/i18n.rb:353:in `with_locale'
/var/www/discourse/lib/hijack.rb:68:in `block in hijack'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:911:in `callback_on_resolution'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:797:in `call_callback'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:803:in `call_callbacks'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:692:in `resolve_with'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:1325:in `resolve'
/var/www/discourse/lib/scheduler/defer.rb:125:in `block in do_work'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in `with_connection'
/var/www/discourse/lib/scheduler/defer.rb:119:in `do_work'
/var/www/discourse/lib/scheduler/defer.rb:105:in `block (2 levels) in start_thread'
…そして、新しいモデルを作成し、埋め込み次元数 をデフォルトの 768 から 3072 に変更すると、うまくいくようです。
おそらく、ディスコースのGemini埋め込みは、デフォルト設定のオーバーホールが必要であり、最初の投稿に「Gemini埋め込みの設定方法」という簡単なガイドを追加することも良いかもしれません。
「いいね!」 1
Falco
(Falco)
4
Gemini embedding setting not passing output_dimensionality? の重複