Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Vertex API (gemini-pro model) undefined method `has_key?' for ...

Aperta
#17,071 0 commenti 3 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
ruby
Ambito
api

Direzione di ricerca

Riproduci la richiesta con l'esempio gemini-pro e traccia la decodifica da stream_project_location_publisher_model_generate_content in service.rb fino a decode_response_body di google-apis-core. Confronta la risposta restituita in forma di array con la struttura prevista del modello generato; il lavoro è completato quando la richiesta termina senza il NoMethodError di has_key?.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Environment details
  • OS: MacOS
  • Ruby version: 3.2.2
  • Gem name and version: latest
Steps to reproduce

Execute Vertex AI GenerateContentRequest utilizing gemini-pro model and observe the error below

Code example
    client = Google::Apis::AiplatformV1::AiplatformService.new
    client.root_url = 'https://us-central1-aiplatform.googleapis.com/'
    client.authorization = Google::Auth.get_application_default(scope: 'https://www.googleapis.com/auth/cloud-platform')

    request = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest.new \
      contents: [{
        'role': 'user',
        'parts': [
          {
            'text': 'Hello'
          }
        ]
      }],
      generation_config: {
        temperature: 0.7,
        maxOutputTokens: 2048,
        topP: 1.0
      }

    client.stream_project_location_publisher_model_generate_content \
      "projects/#{project_id}/locations/us-central1/publishers/google/models/gemini-pro",
      request
Error log
worker  | Error performing Wgpt::BotJob (Job ID: e22f44bb-451c-4fe1-a6b9-4b75de1ff824) from Sidekiq(high) in 1563.54ms: NoMethodError (undefined method `has_key?' for [{"candidates"=>[{"content"=>{"role"=>"model", "parts"=>[{"text"=>"Hello! How may I assist you? "}]}, "finishReason"=>"STOP", "safetyRatings"=>[{"category"=>"HARM_CATEGORY_HARASSMENT", "probability"=>"NEGLIGIBLE"}, {"category"=>"HARM_CATEGORY_HATE_SPEECH", "probability"=>"NEGLIGIBLE"}, {"category"=>"HARM_CATEGORY_SEXUALLY_EXPLICIT", "probability"=>"NEGLIGIBLE"}, {"category"=>"HARM_CATEGORY_DANGEROUS_CONTENT", "probability"=>"NEGLIGIBLE"}]}], "usageMetadata"=>{"promptTokenCount"=>1, "candidatesTokenCount"=>9, "totalTokenCount"=>10}}]:Array):
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/hash/binding.rb:13:in `read'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/deserializer.rb:11:in `block in <module:Representable>'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/pipeline.rb:19:in `evaluate'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/pipeline.rb:10:in `block in call'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/pipeline.rb:9:in `each'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/pipeline.rb:9:in `inject'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/pipeline.rb:9:in `call'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/binding.rb:55:in `uncompile_fragment'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/binding.rb:14:in `block in call'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/binding.rb:12:in `each'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/binding.rb:12:in `call'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable.rb:68:in `representable_map!'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable.rb:48:in `update_properties_from'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/hash.rb:33:in `from_hash'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/representable-3.2.0/lib/representable/json.rb:37:in `from_json'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/google-apis-core-0.11.0/lib/google/apis/core/api_command.rb:104:in `decode_response_body'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:203:in `process_response'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:321:in `execute_once'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:126:in `block (2 levels) in do_retry'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:123:in `block in do_retry'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:113:in `do_retry'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:104:in `execute'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/google-apis-core-0.11.0/lib/google/apis/core/base_service.rb:418:in `execute_or_queue_command'
worker  | /Users/mazen/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/google-apis-aiplatform_v1-0.10.0/lib/google/apis/aiplatform_v1/service.rb:13319:in `stream_project_location_publisher_model_generate_content'
Lingua principale
Ruby
Stelle
2.9k
Fork
888
Merge medio
8m
PR unite (30g)
243

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di googleapis/google-api-ruby-client

Tutte le issue di googleapis/google-api-ruby-client

Issue simili

Altre issue su Ruby

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.