gorse-io/gorse-rb

Ruby SDK for gorse recommender system

Ruby

0

12 commits

updated Jul 20, 2026

See the code

README

gorse-rb

Ruby Gem Gem

Ruby SDK for gorse recommender system

Install

gem install gorse

Usage

require 'gorse'

client = Gorse.new('http://127.0.0.1:8087', 'api_key')

# Insert a user
client.insert_user({
    'UserId' => 'bob',
    'Labels' => {
        'gender' => 'M',
        'age' => 24
    },
    'Comment' => 'my user'
})

# Insert an item
client.insert_item({
    'ItemId' => 'vuejs:vue',
    'IsHidden' => false,
    'Labels' => {
        'language' => 'JavaScript'
    },
    'Categories' => ['framework'],
    'Timestamp' => '2022-02-24T00:00:00Z',
    'Comment' => 'Vue.js framework'
})

# Insert feedbacks
client.insert_feedback([
    { 'FeedbackType' => 'star', 'UserId' => 'bob', 'ItemId' => 'vuejs:vue',            'Timestamp' => '2022-02-24T00:00:00Z' },
    { 'FeedbackType' => 'star', 'UserId' => 'bob', 'ItemId' => 'd3:d3',                 'Timestamp' => '2022-02-25T00:00:00Z' },
    { 'FeedbackType' => 'star', 'UserId' => 'bob', 'ItemId' => 'dogfalo:materialize',   'Timestamp' => '2022-02-26T00:00:00Z' },
    { 'FeedbackType' => 'star', 'UserId' => 'bob', 'ItemId' => 'mozilla:pdf.js',        'Timestamp' => '2022-02-27T00:00:00Z' },
    { 'FeedbackType' => 'star', 'UserId' => 'bob', 'ItemId' => 'moment:moment',         'Timestamp' => '2022-02-28T00:00:00Z' }
])

# Get recommendation
client.get_recommend('bob', n: 10)

Contributors

zhenghaoz

9 commits

zhangzhenghao

3 commits

gorse-io/gorse-rb

Ruby SDK for gorse recommender system

Ruby

0

12 commits

updated Jul 20, 2026

See the code

README

gorse-rb

Ruby Gem Gem

Ruby SDK for gorse recommender system

Install

gem install gorse

Usage

require 'gorse'

client = Gorse.new('http://127.0.0.1:8087', 'api_key')

# Insert a user
client.insert_user({
    'UserId' => 'bob',
    'Labels' => {
        'gender' => 'M',
        'age' => 24
    },
    'Comment' => 'my user'
})

# Insert an item
client.insert_item({
    'ItemId' => 'vuejs:vue',
    'IsHidden' => false,
    'Labels' => {
        'language' => 'JavaScript'
    },
    'Categories' => ['framework'],
    'Timestamp' => '2022-02-24T00:00:00Z',
    'Comment' => 'Vue.js framework'
})

# Insert feedbacks
client.insert_feedback([
    { 'FeedbackType' => 'star', 'UserId' => 'bob', 'ItemId' => 'vuejs:vue',            'Timestamp' => '2022-02-24T00:00:00Z' },
    { 'FeedbackType' => 'star', 'UserId' => 'bob', 'ItemId' => 'd3:d3',                 'Timestamp' => '2022-02-25T00:00:00Z' },
    { 'FeedbackType' => 'star', 'UserId' => 'bob', 'ItemId' => 'dogfalo:materialize',   'Timestamp' => '2022-02-26T00:00:00Z' },
    { 'FeedbackType' => 'star', 'UserId' => 'bob', 'ItemId' => 'mozilla:pdf.js',        'Timestamp' => '2022-02-27T00:00:00Z' },
    { 'FeedbackType' => 'star', 'UserId' => 'bob', 'ItemId' => 'moment:moment',         'Timestamp' => '2022-02-28T00:00:00Z' }
])

# Get recommendation
client.get_recommend('bob', n: 10)

Contributors

zhenghaoz

9 commits

zhangzhenghao

3 commits

Languages

Ruby

98.2%

Dockerfile

1.8%