39 lines
1.1 KiB
Ruby
39 lines
1.1 KiB
Ruby
# script/test_gemini_routing.rb
|
|
# Usage: bundle exec rails runner script/test_gemini_routing.rb
|
|
|
|
begin
|
|
puts 'Testing RubyLLM Routing for Gemini...'
|
|
|
|
# Ensure Configuration
|
|
RubyLLM.configure do |config|
|
|
config.gemini_api_key = ENV['GEMINI_API_KEY'] || 'dummy_gemini_key'
|
|
end
|
|
|
|
model = 'gemini-1.5-flash'
|
|
puts "Model: #{model}"
|
|
|
|
# Attempt a chat completion using correct API
|
|
chat = RubyLLM.chat(model: model)
|
|
chat.add_message(role: 'user', content: 'Hello from tests')
|
|
|
|
# This should trigger the request
|
|
response = chat.ask('Hello from tests')
|
|
|
|
puts "Response: #{response}"
|
|
|
|
rescue StandardError => e
|
|
puts "Caught Error: #{e.class} - #{e.message}"
|
|
|
|
# Analyze if it tried Gemini
|
|
is_gemini_related = e.message.match?(/Google|Gemini|401|dummy/i) || e.class.name.match?(/Gemini/i)
|
|
|
|
if is_gemini_related
|
|
puts 'SUCCESS: RubyLLM attempted to use Gemini provider (Error confirmed it tried).'
|
|
elsif e.message.include?('OpenAI')
|
|
puts 'FAILURE: RubyLLM tried to use OpenAI despite requesting Gemini model.'
|
|
else
|
|
puts "UNCERTAIN: Error unrelated to provider mismatch: #{e.message}"
|
|
puts e.backtrace.first(5)
|
|
end
|
|
end
|