GitHub Hot Board

GitHub Hot Board · Arquivo do repositório

gorse-io/gorse

AI powered open source recommender system engine supports classical/LLM rankers and multimodal content via embedding (Esta descrição vem do próprio repositório.)

Go#collaborative-filtering#go#knn

Dados de October 27gorse-io

Melhor colocação

#456

Histórico · Go por idioma

9.9K

Total de estrelas

926

Total de forks

0

Dias nos rankings (30 d)

Licença: Apache-2.0Último push: October 26Issues abertos (PR incl.): 123Coletado desde 2026-10-25; desconhecido = ainda não coletado

Documentação do projeto

Gorse Open-source Recommender System Engine

test codecov Discord Twitter Follow Gurubase

Gorse is an AI powered open-source recommender system written in Go. Gorse aims to be a universal open-source recommender system that can be quickly integrated 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 latest, user-to-user, item-to-item, collaborative filtering and etc.
  • Multimodal: Support multimodal content (text, image, videos, etc.) via embedding.
  • AI-powered: Support classical recommenders, reranker APIs, and Decision APIs.
  • GUI Dashboard: Provide GUI dashboard for recommendation pipeline editing, system monitoring, and data management.
  • RESTful APIs: Expose RESTful APIs for data CRUD and recommendation requests.

Quick Start

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

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

The playground mode will download data from GitRec and import it into Gorse. The dashboard is available at http://localhost:8088.

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.

read -d '' JSON << EOF
[
    { \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"ollama:ollama\", \"Value\": 1.0, \"Timestamp\": \"2022-02-24\" },
    { \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"huggingface:transformers\", \"Value\": 1.0, \"Timestamp\": \"2022-02-25\" },
    { \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"rasbt:llms-from-scratch\", \"Value\": 1.0, \"Timestamp\": \"2022-02-26\" },
    { \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"vllm-project:vllm\", \"Value\": 1.0, \"Timestamp\": \"2022-02-27\" },
    { \"FeedbackType\": \"star\", \"UserId\": \"bob\", \"ItemId\": \"hiyouga:llama-factory\", \"Value\": 1.0, \"Timestamp\": \"2022-02-28\" }
]
EOF

curl -X POST http://127.0.0.1:8088/api/feedback \
   -H 'Content-Type: application/json' \
   -d "$JSON"

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

curl http://127.0.0.1:8088/api/recommend/bob?n=10

For more information:

Architecture

Gorse is a single-node training and distributed prediction recommender system. Gorse stores data in MySQL (MariaDB), MongoDB, or Postgres, with intermediate results cached in Redis, MySQL (MariaDB), 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 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:

Colocações atuais

  • 456

    Campeões de todos os tempos · Go

    9.9K estrelas · 926 fork · Star acumuladas

    Histórico · Go →

Evolução em 30 dias

Sem registros nos últimos 30 dias.

Coloque o emblema no seu README · gorse-io/gorse[![Coloque o emblema no seu README](https://git.vaiox.xyz/api/badge/gorse-io/gorse.svg)](https://git.vaiox.xyz/pt/repo/gorse-io/gorse)

Badge · 任何仓库都可以挂 —— 未上榜的仓库显示灰章,上完榜会自动点亮。

<a href="https://git.vaiox.xyz/pt/repo/gorse-io/gorse"><img src="https://git.vaiox.xyz/api/badge/gorse-io/gorse.svg" alt="Coloque o emblema no seu README" height="20"></a>

← Voltar aos rankings

GitHub Hot BoardMáquina do tempoDescobrir联系我们 · Contact