chatwoot-develop/script/test_gemini_routing.rb

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