Class: Boxcars::WikipediaSearch

Inherits:
Boxcar
  • Object
show all
Defined in:
lib/boxcars/boxcar/wikipedia_search.rb

Overview

A Boxcar that uses the Wikipedia search API to get answers to questions.

Constant Summary collapse

WDESC =

Default description for this boxcar.

"useful for when you need to answer questions about topics from Wikipedia. " \
"You should ask targeted questions"

Constants inherited from Boxcar

Boxcar::SCHEMA_KEY_ALIASES, Boxcar::TYPE_ALIASES

Instance Attribute Summary

Attributes inherited from Boxcar

#description, #name, #parameters, #return_direct

Instance Method Summary collapse

Methods inherited from Boxcar

#apply, assi, #conduct, #conduct_result, hist, #input_keys, #output_keys, #parameters_json_schema, #run, #run_result, #schema, syst, #tool_call_name, #tool_definition, #tool_spec, user, #validate_inputs, #validate_outputs

Constructor Details

#initialize(name: "Wikipedia", description: WDESC) ⇒ WikipediaSearch

Create a boxcar that uses Wikipedia search to answer questions.

Parameters:

  • name (String) (defaults to: "Wikipedia")

    The name of the boxcar. Defaults to classname.

  • description (String) (defaults to: WDESC)

    A description of the boxcar.



14
15
16
# File 'lib/boxcars/boxcar/wikipedia_search.rb', line 14

def initialize(name: "Wikipedia", description: WDESC)
  super
end

Instance Method Details

#call(inputs:) ⇒ Hash

Execute one Wikipedia search using the normalized Boxcar input contract.

Parameters:

  • inputs (Hash)

    Expected to contain ‘:question` (or `“question”`).

Returns:

  • (Hash)

    ‘{ answer: String }`.



21
22
23
24
# File 'lib/boxcars/boxcar/wikipedia_search.rb', line 21

def call(inputs:)
  question = inputs[:question]
  { answer: fetch_answer(question) }
end