Méthode non définie dig pour nil:NilClass" Erreur avec le plugin Discourse AI
Je rencontre l’erreur suivante lors de l’utilisation du plugin Discourse AI :
Message d’erreur :
Exception de tâche : méthode non définie `dig` pour nil:NilClass
Emplacement :
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/gemini.rb:107:in extract_completion_from’`
Contexte :
Cette erreur semble se produire lorsque le code tente d’utiliser la méthode dig sur une valeur nil, probablement lors du traitement d’une réponse d’API dans la méthode extract_completion_from.
1 « J'aime »
Falco
(Falco)
Juin 17, 2024, 1:09
2
Pouvez-vous partager la trace complète ?
1 « J'aime »
Exception de tâche : méthode indéfinie `dig' pour nil:NilClass
Trace
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/gemini.rb:107:in `extract_completion_from'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:224:in `block (4 levels) in perform_completion!'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:216:in `each'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:216:in `block (3 levels) in perform_completion!'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:535:in `call_block'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:526:in `<'`
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:168:in `read'
/usr/local/lib/ruby/3.2.0/net/http/response.rb:631:in `read_chunked'
/usr/local/lib/ruby/3.2.0/net/http/response.rb:595:in `block in read_body_0'
/usr/local/lib/ruby/3.2.0/net/http/response.rb:588:in `inflater'
/usr/local/lib/ruby/3.2.0/net/http/response.rb:593:in `read_body_0'
/usr/local/lib/ruby/3.2.0/net/http/response.rb:363:in `read_body'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:184:in `block (2 levels) in perform_completion!'
/usr/local/lib/ruby/3.2.0/net/http.rb:2353:in `block in transport_request'
/usr/local/lib/ruby/3.2.0/net/http/response.rb:320:in `reading_body'
/usr/local/lib/ruby/3.2.0/net/http.rb:2352:in `transport_request'
/usr/local/lib/ruby/3.2.0/net/http.rb:2306:in `request'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.1/lib/patches/net_patches.rb:19:in `block in request_with_mini_profiler'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.1/lib/mini_profiler/profiling_methods.rb:50:in `step'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.1/lib/patches/net_patches.rb:18:in `request_with_mini_profiler'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:122:in `block in perform_completion!'
/usr/local/lib/ruby/3.2.0/net/http.rb:1570:in `start'
/usr/local/lib/ruby/3.2.0/net/http.rb:1029:in `start'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:105:in `perform_completion!'
/var/www/discourse/plugins/discourse-ai/lib/completions/llm.rb:216:in `generate'
/var/www/discourse/plugins/discourse-ai/lib/ai_bot/bot.rb:72:in `reply'
/var/www/discourse/plugins/discourse-ai/lib/ai_bot/playground.rb:324:in `reply_to_chat_message'
/var/www/discourse/plugins/discourse-ai/app/jobs/regular/create_ai_chat_reply.rb:21:in `execute'
/var/www/discourse/app/jobs/base.rb:305:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rails_multisite-6.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rails_multisite-6.0.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:292:in `block in perform'
/var/www/discourse/app/jobs/base.rb:288:in `each'
/var/www/discourse/app/jobs/base.rb:288:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'
Falco
(Falco)
Juin 17, 2024, 2:08
4
Gemini 1.5 fonctionne bien pour nous ici, êtes-vous sûr que votre clé API fonctionne et que votre serveur peut atteindre l’API Gemini ?
1 « J'aime »
Oui, je l’utilise en fait sans aucun problème.
S’il fonctionne correctement sans avoir à effectuer une authentification Google OAuth distincte pour la clé API, je suis convaincu d’avoir tout configuré correctement.
sam
(Sam Saffron)
Avril 24, 2025, 5:08
6
Désolé, je ferme cela car la version 2.5 de Flash et Pro sont très bien supportées ces jours-ci.