Skip to content
/ gorse Public
forked from gorse-io/gorse

An open source recommender system service written in Go

Notifications You must be signed in to change notification settings

softwear/gorse

 
 

Repository files navigation

gorse: Go Recommender System Engine

build codecov Go Report Card GoDoc Discord Gorse推荐系统交流群

Gorse is an open-source recommendation system written in Go. Gorse aims to be an universal open-source recommender system that can be quickly introduced into a wide variety of online services. By importing items, users and interaction data into Gorse, the system will automatically train models to generate recommendations for each user. Project features are as follows.

  • AutoML: Choose the best recommendation model and strategy automatically by model searching in the background.
  • Distributed Recommendation: Single node training, distributed prediction, and ability to achieve horizontal scaling in the recommendation stage.
  • RESTful API: Provide RESTful APIs for data CRUD and recommendation requests.
  • Dashboard: Provide dashboard for data import and export, monitoring, and cluster status checking.

Quick Start

Architecture

Gorse is a single node training and distributed prediction recommender system. Gorse stores data in MySQL or MongoDB, with intermediate data cached in Redis.

  1. The cluster consists of a master node, multiple worker nodes, and server nodes.
  2. The master node is responsible for model training, non-personalized item recommendation, configuration management, and membership management.
  3. The server node is responsible for exposing the RESTful APIs and online real-time recommendations.
  4. Worker nodes are responsible for offline recommendations for each user.

In addition, the administrator can perform system monitoring, data import and export, and system status checking via the dashboard on the master node.

Contributors

Any contribution is expected: report a bug, give advice or even create a pull request. Welcome to submit Gorse In-Production User Registration to add your product to the case studies section of gorse.io if Gorse has been used in production.

Acknowledgments

gorse is inspired by the following projects:

About

An open source recommender system service written in Go

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.7%
  • Other 0.3%