Skip to content

Commit c5be982

Browse files
authored
docs: replace images with links (#1126)
1 parent 7016081 commit c5be982

File tree

4 files changed

+14
-44
lines changed

4 files changed

+14
-44
lines changed

README.md

Lines changed: 14 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -9,47 +9,39 @@
99
[![Twitter Follow](https://img.shields.io/twitter/follow/gorse_io?label=Follow&style=social)](https://twitter.com/gorse_io)
1010
[![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20Gorse%20Guru-006BFF)](https://gurubase.io/g/gorse)
1111

12-
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.
1313

14-
<img width=520 src="assets/workflow.png"/>
14+
<img width=520 src="https://github.com/gorse-io/docs/blob/main/src/img/pipeline.drawio.svg?raw=true"/>
1515

16-
- **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.
1717
- **AutoML:** Search the best recommendation model automatically in the background.
1818
- **Distributed prediction:** Support horizontal scaling in the recommendation stage after single node training.
1919
- **RESTful APIs:** Expose RESTful APIs for data CRUD and recommendation requests.
2020
- **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 management and system monitoring.
2222

2323
## Quick Start
2424

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

27-
- Linux/macOS:
28-
29-
```bash
30-
curl -fsSL https://gorse.io/playground | bash
31-
```
32-
33-
- Docker:
34-
3527
```bash
3628
docker run -p 8088:8088 zhenghaoz/gorse-in-one --playground
3729
```
3830

3931
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`.
4032

41-
<img width=720 src="assets/dashboard.jpeg"/>
33+
<img width=720 src="https://github.com/gorse-io/dashboard/blob/master/assets/dashboard.png?raw=true"/>
4234

43-
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.
4436

4537
```bash
4638
read -d '' JSON << EOF
4739
[
48-
{ \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"vuejs:vue\", \"Timestamp\": \"2022-02-24\" },
49-
{ \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"d3:d3\", \"Timestamp\": \"2022-02-25\" },
50-
{ \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"dogfalo:materialize\", \"Timestamp\": \"2022-02-26\" },
51-
{ \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"mozilla:pdf.js\", \"Timestamp\": \"2022-02-27\" },
52-
{ \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"moment:moment\", \"Timestamp\": \"2022-02-28\" }
40+
{ \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"ollama:ollama\", \"Value\": 1.0, \"Timestamp\": \"2022-02-24\" },
41+
{ \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"huggingface:transformers\", \"Value\": 1.0, \"Timestamp\": \"2022-02-25\" },
42+
{ \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"rasbt:llms-from-scratch\", \"Value\": 1.0, \"Timestamp\": \"2022-02-26\" },
43+
{ \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"vllm-project:vllm\", \"Value\": 1.0, \"Timestamp\": \"2022-02-27\" },
44+
{ \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"hiyouga:llama-factory\", \"Value\": 1.0, \"Timestamp\": \"2022-02-28\" }
5345
]
5446
EOF
5547

@@ -58,34 +50,12 @@ curl -X POST http://127.0.0.1:8088/api/feedback \
5850
-d "$JSON"
5951
```
6052

61-
Then, fetch 10 recommended items from Gorse. We can find that frontend-related repositories are recommended for Bob.
53+
Then, fetch 10 recommended items from Gorse. We can find that LLM-related repositories are recommended for Bob.
6254

6355
```bash
6456
curl http://127.0.0.1:8088/api/recommend/bob?n=10
6557
```
6658

67-
<details>
68-
<summary>Example outputs:</summary>
69-
70-
```json
71-
[
72-
"mbostock:d3",
73-
"nt1m:material-framework",
74-
"mdbootstrap:vue-bootstrap-with-material-design",
75-
"justice47:f2-vue",
76-
"10clouds:cyclejs-cookie",
77-
"academicpages:academicpages.github.io",
78-
"accenture:alexia",
79-
"addyosmani:tmi",
80-
"1wheel:d3-starterkit",
81-
"acdlite:redux-promise"
82-
]
83-
```
84-
85-
</details>
86-
87-
> The exact output might be different from the example since the playground dataset changes over time.
88-
8959
For more information:
9060

9161
- Read [official documents](https://gorse.io/docs/)
@@ -97,13 +67,13 @@ For more information:
9767
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.
9868

9969
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.
10171
1. The server node is responsible for exposing the RESTful APIs and online real-time recommendations.
10272
1. Worker nodes are responsible for offline recommendations for each user.
10373

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

106-
<img width=520 src="assets/architecture.png"/>
76+
<img width=520 src="https://github.com/gorse-io/docs/blob/main/src/img/cluster.drawio.svg?raw=true"/>
10777

10878
## Contributors
10979

assets/architecture.png

-579 KB
Binary file not shown.

assets/dashboard.jpeg

-200 KB
Binary file not shown.

assets/workflow.png

-99.2 KB
Binary file not shown.

0 commit comments

Comments
 (0)