Coder Social home page Coder Social logo

nmathar / gorse Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gorse-io/gorse

0.0 0.0 0.0 10.63 MB

An open source recommender system service written in Go

Home Page: https://gorse.io

License: Apache License 2.0

Shell 0.10% C 8.90% Go 84.42% Assembly 5.52% Awk 0.72% Makefile 0.05% Dockerfile 0.28%

gorse's Introduction

gorse: Go Recommender System Engine

build codecov Go Report Card GoDoc Discord Twitter Follow

Gorse is an open-source recommendation system written in Go. Gorse aims to be a 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.

  • Multi-source Recommendation: For a user, recommended items are collected from different ways (popular, latest, user-based, item-based, and collaborative filtering) and ranked by click-through rate prediction.
  • 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

The playground mode has been prepared for beginners. Just set up a recommender system for GitHub repositories by following commands.

  • Linux (amd64):
wget https://github.com/gorse-io/gorse/releases/latest/download/gorse_linux_amd64.zip
unzip gorse_linux_amd64.zip
./gorse-in-one_linux_amd64 --playground

For other operating systems and architectures, please visit GitHub Release for download links.

  • Docker:
docker run -p 8088:8088 zhenghaoz/gorse-in-one --playground

The playground mode will download data from GitRec and import it into Gorse. For more information:

Architecture

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

  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 appreciated: report a bug, give advice or create a pull request. Read CONTRIBUTING.md for more information.

Acknowledgments

gorse is inspired by the following projects:

gorse's People

Contributors

zhenghaoz avatar dependabot-preview[bot] avatar zhangzhenghao avatar deepsource-autofix[bot] avatar nmathar avatar somiacao avatar dependabot[bot] avatar deslum avatar rhorber avatar mrtztg avatar davewang avatar lbw114007 avatar zhang555 avatar winwill2012 avatar mehmetcansahin avatar europaer avatar ccfish86 avatar amaaazing avatar varunvora avatar ujwachuku avatar alitrack avatar pranav377 avatar petrbezousek avatar fire avatar hetao29 avatar deliangyang avatar danhaller avatar choleraehyq avatar liapin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.