Skip to content

fuzzy-ai/fuzzy.ai-ruby

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FuzzyIo

Client library for the fuzzy.ai RESTful API

Installation

Add this line to your application's Gemfile:

gem 'fuzzy.ai'

And then execute:

$ bundle

Or install it yourself as:

$ gem install fuzzy.ai

Usage

This gem handles the most basic usage of Fuzzy.ai.

# Require the module

require 'fuzzy.ai'

# Your API key (get one from https://fuzzy.io/)

API_KEY = 'YOUR_API_KEY_HERE'

# Create an account object

acct = FuzzyAi::Account.new API_KEY

# ID of the agent you want to call; get it from https://fuzzy.ai/

AGENT_ID = 'AGENT_ID_HERE'

# Inputs; map of string or symbol to numbers

inputs = {
  input1: 10,
  input2: 30
}

# Ask the agent to evaluate the inputs; returns two values!

outputs, evaluation_id = acct.evaluate AGENT_ID, inputs

# Outputs is all the outputs

puts outputs["output1"]

# An opaque ID for the evaluation

puts evaluation_id

# For feedback, provide a performance metric

performance = {
  performance1: 3
}

fb = acct.feedback evaluation_id, performance

FuzzyAi::Account

Class representing a single account; you can use it to do evaluations and give feedback.

initialize(key)

Takes a string representing the API key. You can get the key on the top of your account page on https://fuzzy.ai/ .

evaluate(agent_id, inputs)

Takes a string representing the agent ID, and a hash mapping input names (strings or symbols) to numbers.

Response is two values (2!) -- a map of the output names to numbers, and a string for the evaluation ID.

feedback(evaluation_id, peformance)

Takes a string for the evaluation ID, and a hash mapping performance metrics to numbers. You can provide more than one metric.

The metrics will be optimized to increase -- so, number of clicks, profit on sale, etc. If you have a number that will go towards negative infinity, multiple it by -1. If you have a number that will go toward zero, give its inverse (1/x).

Contributing

  1. Fork it ( https://github.com/fuzzy-ai/fuzzy.ai-ruby/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request