Class: Boxcars::Swagger
- Inherits:
-
EngineBoxcar
- Object
- Boxcar
- EngineBoxcar
- Boxcars::Swagger
- Defined in:
- lib/boxcars/boxcar/swagger.rb
Overview
A Boxcar that interprets a prompt and executes API calls to get an answer.
Constant Summary collapse
- DESC =
the description of this engine boxcar
"useful for when you need to make Open API calls to get an answer."- CTEMPLATE =
our template
[ syst("Study this Open API Swagger file %<swagger_url>s\n", "and write a Ruby Program that prints the answer to the following questions using the appropriate API calls:\n", "Additional context that you might need in the Ruby program: (%<context>s)\n", "Use the following format:\n", "${{Question needing API calls and code}}\n", "reply only with the following format:\n", "```ruby\n${{Ruby code with API calls and code that prints the answer}}\n```\n", "```output\n${{Output of your code}}\n```\n\n", "Otherwise, if you know the answer and do not need any API calls, you should use this simpler format:\n", "${{Question not needing API calls}}\n", "Answer: ${{Answer}}\n\n", "Do not give an explanation of the answer and make sure your answer starts with either 'Answer:' or '```ruby'. ", "Make use of the rest-client gem to make your requests to the API. Just print the answer."), user("%<question>s") ].freeze
Instance Attribute Summary collapse
-
#context ⇒ Object
Returns the value of attribute context.
-
#swagger_url ⇒ Object
Returns the value of attribute swagger_url.
Attributes inherited from EngineBoxcar
#engine, #prompt, #stop, #top_k
Attributes inherited from Boxcar
#description, #name, #parameters, #return_direct
Instance Method Summary collapse
-
#initialize(swagger_url:, engine: nil, prompt: nil, context: "", **kwargs) ⇒ Swagger
constructor
A new instance of Swagger.
-
#prediction_additional(_inputs) ⇒ Object
Hash The additional variables for this boxcar.
Methods inherited from EngineBoxcar
#apply, #call, #check_output_keys, #extract_code, #generate, #input_key, #input_keys, #output_key, #output_keys, #predict, #prediction_input, #prediction_variables
Methods inherited from Boxcar
#apply, assi, #call, #conduct, hist, #input_keys, #load, #output_keys, #run, #save, #schema, syst, user, #validate_inputs, #validate_outputs
Constructor Details
#initialize(swagger_url:, engine: nil, prompt: nil, context: "", **kwargs) ⇒ Swagger
Returns a new instance of Swagger.
17 18 19 20 21 22 23 24 25 |
# File 'lib/boxcars/boxcar/swagger.rb', line 17 def initialize(swagger_url:, engine: nil, prompt: nil, context: "", **kwargs) @swagger_url = swagger_url @context = context the_prompt = prompt || my_prompt kwargs[:stop] ||= ["```output"] kwargs[:name] ||= "Swagger API" kwargs[:description] ||= DESC super(engine:, prompt: the_prompt, **kwargs) end |
Instance Attribute Details
#context ⇒ Object
Returns the value of attribute context.
10 11 12 |
# File 'lib/boxcars/boxcar/swagger.rb', line 10 def context @context end |
#swagger_url ⇒ Object
Returns the value of attribute swagger_url.
10 11 12 |
# File 'lib/boxcars/boxcar/swagger.rb', line 10 def swagger_url @swagger_url end |
Instance Method Details
#prediction_additional(_inputs) ⇒ Object
Returns Hash The additional variables for this boxcar.
28 29 30 |
# File 'lib/boxcars/boxcar/swagger.rb', line 28 def prediction_additional(_inputs) { swagger_url:, context: }.merge super end |