[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5078":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},5078,"gorse","gorse-io\u002Fgorse","gorse-io","AI powered open source recommender system engine supports classical\u002FLLM rankers and multimodal content via embedding","https:\u002F\u002Fgorse.io",null,"Go",9711,902,64,101,0,4,12,50,17,83.87,"Apache License 2.0",false,"master",[26,27,28,29,30],"collaborative-filtering","go","knn","machine-learning","recommender-system","2026-06-12 04:00:24","# Gorse Open-source Recommender System Engine\n\n\u003Cimg width=160 src=\"assets\u002Fgorse.png\"\u002F>\n\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fgo-mod\u002Fgo-version\u002Fzhenghaoz\u002Fgorse)\n[![test](https:\u002F\u002Fgithub.com\u002Fgorse-io\u002Fgorse\u002Factions\u002Fworkflows\u002Fbuild_test.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fgorse-io\u002Fgorse\u002Factions\u002Fworkflows\u002Fbuild_test.yml)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fgorse-io\u002Fgorse\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fgorse-io\u002Fgorse)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F830635934210588743)](https:\u002F\u002Fdiscord.gg\u002Fx6gAtNNkAE)\n[![Twitter Follow](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fgorse_io?label=Follow&style=social)](https:\u002F\u002Ftwitter.com\u002Fgorse_io)\n[![Gurubase](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGurubase-Ask%20Gorse%20Guru-006BFF)](https:\u002F\u002Fgurubase.io\u002Fg\u002Fgorse)\n\nGorse 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.\n\n![](https:\u002F\u002Fgithub.com\u002Fgorse-io\u002Fdocs\u002Fblob\u002Fmain\u002Fsrc\u002Fimg\u002Fdashboard\u002Frecflow.png?raw=true)\n\n- **Multi-source:** Recommend items from latest, user-to-user, item-to-item, collaborative filtering and etc.\n- **Multimodal:** Support multimodal content (text, image, videos, etc.) via embedding.\n- **AI-powered:** Support both classical recommenders and LLM-based recommenders.\n- **GUI Dashboard:** Provide GUI dashboard for recommendation pipeline editing, system monitoring, and data management.\n- **RESTful APIs:** Expose RESTful APIs for data CRUD and recommendation requests.\n\n## Quick Start\n\nThe playground mode has been prepared for beginners. Just set up a recommender system for GitHub repositories by the following commands.\n\n```bash\ndocker run -p 8088:8088 zhenghaoz\u002Fgorse-in-one --playground\n```\n\nThe playground mode will download data from [GitRec](https:\u002F\u002Fgitrec.gorse.io\u002F) and import it into Gorse. The dashboard is available at `http:\u002F\u002Flocalhost:8088`.\n\n![](https:\u002F\u002Fgithub.com\u002Fgorse-io\u002Fdocs\u002Fblob\u002Fmain\u002Fsrc\u002Fimg\u002Fdashboard\u002Foverview.png?raw=true)\n\nAfter 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.\n\n```bash\nread -d '' JSON \u003C\u003C EOF\n[\n    { \\\"FeedbackType\\\": \\\"star\\\", \\\"UserId\\\": \\\"bob\\\", \\\"ItemId\\\": \\\"ollama:ollama\\\", \\\"Value\\\": 1.0, \\\"Timestamp\\\": \\\"2022-02-24\\\" },\n    { \\\"FeedbackType\\\": \\\"star\\\", \\\"UserId\\\": \\\"bob\\\", \\\"ItemId\\\": \\\"huggingface:transformers\\\", \\\"Value\\\": 1.0, \\\"Timestamp\\\": \\\"2022-02-25\\\" },\n    { \\\"FeedbackType\\\": \\\"star\\\", \\\"UserId\\\": \\\"bob\\\", \\\"ItemId\\\": \\\"rasbt:llms-from-scratch\\\", \\\"Value\\\": 1.0, \\\"Timestamp\\\": \\\"2022-02-26\\\" },\n    { \\\"FeedbackType\\\": \\\"star\\\", \\\"UserId\\\": \\\"bob\\\", \\\"ItemId\\\": \\\"vllm-project:vllm\\\", \\\"Value\\\": 1.0, \\\"Timestamp\\\": \\\"2022-02-27\\\" },\n    { \\\"FeedbackType\\\": \\\"star\\\", \\\"UserId\\\": \\\"bob\\\", \\\"ItemId\\\": \\\"hiyouga:llama-factory\\\", \\\"Value\\\": 1.0, \\\"Timestamp\\\": \\\"2022-02-28\\\" }\n]\nEOF\n\ncurl -X POST http:\u002F\u002F127.0.0.1:8088\u002Fapi\u002Ffeedback \\\n   -H 'Content-Type: application\u002Fjson' \\\n   -d \"$JSON\"\n```\n\nThen, fetch 10 recommended items from Gorse. We can find that LLM-related repositories are recommended for Bob.\n\n```bash\ncurl http:\u002F\u002F127.0.0.1:8088\u002Fapi\u002Frecommend\u002Fbob?n=10\n```\n\nFor more information：\n\n- Read [official documents](https:\u002F\u002Fgorse.io\u002Fdocs\u002F)\n- Visit [playground](https:\u002F\u002Fplay.gorse.io\u002F) of Gorse dashboard\n- Explore [live demo](https:\u002F\u002Fgitrec.gorse.io\u002F), a recommender system for GitHub repositories\n- Discuss on [Discord](https:\u002F\u002Fdiscord.gg\u002Fx6gAtNNkAE) or [GitHub Discussion](https:\u002F\u002Fgithub.com\u002Fgorse-io\u002Fgorse\u002Fdiscussions)\n\n## Architecture\n\nGorse 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.\n\n1. The cluster consists of a master node, multiple worker nodes, and server nodes.\n1. The master node is responsible for model training, non-personalized recommendation, configuration management, and membership management.\n1. The server node is responsible for exposing the RESTful APIs and online real-time recommendations.\n1. Worker nodes are responsible for offline recommendations for each user.\n\nIn addition, the administrator can perform system monitoring, data import and export, and system status checking via the dashboard on the master node.\n\n\u003Cimg width=520 src=\"https:\u002F\u002Fgithub.com\u002Fgorse-io\u002Fdocs\u002Fblob\u002Fmain\u002Fsrc\u002Fimg\u002Fcluster.drawio.svg?raw=true\"\u002F>\n\n## Contributors\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgorse-io\u002Fgorse\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=zhenghaoz\u002Fgorse\" \u002F>\n\u003C\u002Fa>\n\nAny contribution is appreciated: report a bug, give advice or create a pull request. Read [CONTRIBUTING.md](CONTRIBUTING.md) for more information.\n\n## Acknowledgments\n\n`gorse` is inspired by the following projects:\n\n- [Guibing Guo's librec](https:\u002F\u002Fgithub.com\u002Fguoguibing\u002Flibrec)\n- [Nicolas Hug's Surprise](https:\u002F\u002Fgithub.com\u002FNicolasHug\u002FSurprise)\n- [Golang Samples's gopher-vector](https:\u002F\u002Fgithub.com\u002Fgolang-samples\u002Fgopher-vector)\n","Gorse 是一个基于AI的开源推荐系统引擎，使用Go语言编写。它支持多源推荐、多模态内容（如文本、图片、视频等）通过嵌入处理，并兼容经典及大语言模型推荐器。该系统提供了一个图形用户界面仪表板，用于编辑推荐流程、监控系统状态和管理数据；同时，也开放了RESTful API接口，便于数据操作与获取推荐结果。Gorse 适用于需要快速集成个性化推荐功能的各种在线服务场景中，如电子商务网站、社交媒体平台或内容分发网络等。",2,"2026-06-11 03:02:24","top_language"]