You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
12
+
Gorse is an open-source recommendation system engine 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:** Recommend items from Popular, latest, user-based, item-based and collaborative filtering.
16
+
-**Multi-source:** Recommend items from latest, user-to-user, item-to-item, collaborative filtering and etc.
17
17
-**AutoML:** Search the best recommendation model automatically in the background.
18
18
-**Distributed prediction:** Support horizontal scaling in the recommendation stage after single node training.
19
19
-**RESTful APIs:** Expose RESTful APIs for data CRUD and recommendation requests.
20
20
-**Online evaluation:** Analyze online recommendation performance from recently inserted feedback.
21
-
-**Dashboard:** Provide GUI for data management, system monitoring, and cluster status checking.
21
+
-**GUI Dashboard:** Provide GUI dashboard for data managementand system monitoring.
22
22
23
23
## Quick Start
24
24
25
25
The playground mode has been prepared for beginners. Just set up a recommender system for GitHub repositories by the following commands.
26
26
27
-
- Linux/macOS:
28
-
29
-
```bash
30
-
curl -fsSL https://gorse.io/playground | bash
31
-
```
32
-
33
-
- Docker:
34
-
35
27
```bash
36
28
docker run -p 8088:8088 zhenghaoz/gorse-in-one --playground
37
29
```
38
30
39
31
The playground mode will download data from [GitRec](https://gitrec.gorse.io/) and import it into Gorse. The dashboard is available at `http://localhost:8088`.
After the "Find neighbors of items" task is completed on the "Tasks" page, try to insert several feedbacks into Gorse. Suppose Bob is a frontend developer who starred several frontend repositories in GitHub. We insert his star feedback to Gorse.
35
+
After the "Generate item-to-item recommendation" task is completed on the "Tasks" page, try to insert several feedbacks into Gorse. Suppose Bob is a developer who interested in LLM related repositories. We insert his star feedback to Gorse.
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.
98
68
99
69
1. The cluster consists of a master node, multiple worker nodes, and server nodes.
100
-
1. The master node is responsible for model training, non-personalized item recommendation, configuration management, and membership management.
70
+
1. The master node is responsible for model training, non-personalized recommendation, configuration management, and membership management.
101
71
1. The server node is responsible for exposing the RESTful APIs and online real-time recommendations.
102
72
1. Worker nodes are responsible for offline recommendations for each user.
103
73
104
74
In addition, the administrator can perform system monitoring, data import and export, and system status checking via the dashboard on the master node.
0 commit comments