Docs Navigation +

Ruby

You can use fuzzy.ai from your Ruby project using the Open Source library.

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

You can download the software at: https://github.com/fuzzy-ai/fuzzy.ai-ruby

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.ai/)

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 = Hash.new
inputs[:input1] = 10
inputs[: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 = Hash.new
performance[:performance1] = 3

fb = acct.feedback evaluation_id, performance

FuzzyIo::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 decrease toward zero -- so, distance from target, etc. If you have a number that will go towards infinity, give its inverse (1/x).