class RubyLLM::Providers::VertexAI
Google Vertex AI implementation
Constants
- SCOPES
Public Class Methods
Source
# File lib/ruby_llm/providers/vertexai.rb, line 47 def configuration_options %i[vertexai_project_id vertexai_location vertexai_service_account_key vertexai_api_base] end
# File lib/ruby_llm/providers/vertexai.rb, line 51 def configuration_requirements %i[vertexai_project_id vertexai_location] end
Source
# File lib/ruby_llm/providers/vertexai.rb, line 20 def initialize(config) super @authorizer = nil end
Calls superclass method
RubyLLM::Provider::new
Public Instance Methods
Source
# File lib/ruby_llm/providers/vertexai.rb, line 25 def api_base return @config.vertexai_api_base if @config.vertexai_api_base if @config.vertexai_location.to_s == 'global' 'https://aiplatform.googleapis.com/v1beta1' else "https://#{@config.vertexai_location}-aiplatform.googleapis.com/v1beta1" end end
Source
# File lib/ruby_llm/providers/vertexai.rb, line 35 def headers if defined?(VCR) && !VCR.current_cassette.recording? { 'Authorization' => 'Bearer test-token' } else initialize_authorizer unless @authorizer @authorizer.apply({}) end rescue Google::Auth::AuthorizationError => e raise UnauthorizedError.new(nil, "Invalid Google Cloud credentials for Vertex AI: #{e.message}") end