Module: RailsAi::WebSearch

Defined in:
lib/rails_ai/web_search.rb

Defined Under Namespace

Classes: DuckDuckGoSearch, GoogleSearch, SearchError

Class Method Summary collapse

Class Method Details

.search(query, num_results: 5, provider: :google) ⇒ Object



112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/rails_ai/web_search.rb', line 112

def self.search(query, num_results: 5, provider: :google)
  case provider.to_sym
  when :google
    GoogleSearch.new.search(query, num_results: num_results)
  when :duckduckgo
    DuckDuckGoSearch.new.search(query, num_results: num_results)
  else
    # Try Google first, fallback to DuckDuckGo
    google_results = GoogleSearch.new.search(query, num_results: num_results)
    return google_results if google_results.any?
    
    DuckDuckGoSearch.new.search(query, num_results: num_results)
  end
end