# gorse-io/gorse

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gorse-io-gorse).**

9,717 stars · 902 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/gorse-io/gorse
- Homepage: https://gorse.io
- awesome-repositories: https://awesome-repositories.com/repository/gorse-io-gorse.md

## Topics

`collaborative-filtering` `go` `knn` `machine-learning` `recommender-system`

## Description

Gorse is a personalized recommendation engine server and machine learning pipeline designed to suggest items to users based on their behavior and preferences. It operates as a distributed system that separates training, candidate generation, and serving nodes to support high-throughput workloads.

The system utilizes a multi-stage recommendation pipeline to refine results through retrieval, scoring, and reranking. It generates personalized suggestions using collaborative filtering, matrix factorization, and item-to-item similarity models, while also providing non-personalized and fallback recommendations when individual profiles are unavailable.

The infrastructure supports scaling via Kubernetes and provides a management dashboard secured with OpenID Connect. Broad capabilities include model training and evaluation, a pluggable database backend, and observability via OpenTelemetry request tracing.

Users can integrate the engine into applications through REST endpoints or dedicated SDKs for Go, Python, Rust, TypeScript, Java, and .NET.

## Tags

### Artificial Intelligence & ML

- [Recommendation Engines](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/recommendation-engines.md) — Provides a complete system for predicting and ranking items to deliver personalized content suggestions.
- [Personalized Recommendation Retrieval](https://awesome-repositories.com/f/artificial-intelligence-ml/personalized-recommendation-retrieval.md) — Generates item suggestions for specific users by leveraging collaborative filtering and item-to-item similarity logic. ([source](https://gorse.io/docs/api/restful-api.html))
- [Recommendation List Generators](https://awesome-repositories.com/f/artificial-intelligence-ml/recommender-systems/recommendation-list-generators.md) — Generates personalized item suggestions for specific users using collaborative filtering and item-to-item logic. ([source](https://cdn.jsdelivr.net/gh/gorse-io/gorse@master/README.md))
- [Collaborative Filtering Models](https://awesome-repositories.com/f/artificial-intelligence-ml/collaborative-filtering-models.md) — Uses matrix factorization to train collaborative filtering models from user-item interaction data. ([source](https://gorse.io/docs/config.html))
- [Candidate Generation](https://awesome-repositories.com/f/artificial-intelligence-ml/large-scale-training/distributed-dataset-generators/candidate-generation.md) — Spreads the computation of item and user similarities across multiple worker nodes to handle large-scale datasets.
- [Interaction Matrix Factorizers](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-deployment-and-serving/model-hubs-and-pre-made-models/model-weights/latent-factor-analyzers/interaction-matrix-factorizers.md) — Learns user and item latent features from historical interaction data to predict engagement probabilities.
- [Model Training Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/training-frameworks/model-training-pipelines.md) — Implements end-to-end workflows for sourcing interaction data, training, and validating recommendation models.
- [Candidate Sourcing Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/recommendation-engines/candidate-sourcing-pipelines.md) — Retrieves a broad set of potential items using similarity strategies and external data sources. ([source](https://gorse.io/docs/concepts/pipeline.html))
- [Recommendation Engine Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/recommendation-engines/recommendation-engine-pipelines.md) — Orchestrates the flow from candidate generation and scoring to final reranking. ([source](https://gorse.io/docs/gorse-cli.html))
- [Model Training](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training.md) — Calculates similarities and trains prediction models using historical interaction data. ([source](https://gorse.io/docs/concepts/pipeline.html))
- [Recommendation Scoring and Ranking](https://awesome-repositories.com/f/artificial-intelligence-ml/recommendation-engines/recommendation-scoring-and-ranking.md) — Calculates engagement probability for candidate items and sorts them to present the most relevant content first. ([source](https://gorse.io/docs/concepts/pipeline.html))
- [Recommendation Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/recommendation-pipelines.md) — Processes candidates through a sequence of retrieval, scoring, and reranking stages to refine the final item list.
- [User-to-User Similarity](https://awesome-repositories.com/f/artificial-intelligence-ml/recommender-systems/recommendation-list-generators/user-to-user-similarity.md) — Identifies users with shared labels to suggest items based on the feedback of similar peers. ([source](https://gorse.io/docs/concepts/recommenders/user-to-user.html))
- [User Feedback Collection](https://awesome-repositories.com/f/artificial-intelligence-ml/user-feedback-collection.md) — Provides mechanisms for inserting and updating user interactions with items to inform underlying recommendation models. ([source](https://gorse.io/docs/api/restful-api.html))
- [Model Evaluation Metrics](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-evaluation-and-validation/model-evaluation-metrics.md) — Calculates accuracy metrics using training and testing datasets to estimate algorithm quality. ([source](https://gorse.io/docs/concepts/evaluation.html))
- [Reranking Models](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/recommendation-engines/candidate-sourcing-pipelines/reranking-models.md) — Implements a reranking stage that applies ML models to candidate pools to improve result relevance. ([source](https://gorse.io/docs/config.html))
- [External Source Integration](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/recommendation-engines/external-source-integration.md) — Executes external scripts to retrieve suggested items from third-party sources. ([source](https://gorse.io/docs/config.html))
- [Fallback Strategies](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/recommendation-engines/fallback-strategies.md) — Supplies general non-personalized content when personalized recommendation sources are unavailable. ([source](https://gorse.io/docs/config.html))
- [Non-personalized Recommendations](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/recommendation-engines/non-personalized-recommendations.md) — Suggests popular or discovery items to all users regardless of individual interaction history. ([source](https://gorse.io/docs/concepts/))
- [Hyperparameter Tuning](https://awesome-repositories.com/f/artificial-intelligence-ml/model-fine-tuning-resources/hyperparameter-tuning.md) — Tunes model hyperparameters through periodic trials and early stopping to maximize prediction accuracy. ([source](https://gorse.io/docs/concepts/recommenders/collaborative.html))
- [Pipeline Visual Configurators](https://awesome-repositories.com/f/artificial-intelligence-ml/recommendation-architectures/pipeline-visual-configurators.md) — Offers a visual interface to modify the sequence of recommendation stages to refine item suggestion logic. ([source](https://gorse.io/docs/dashboard/overview.html))
- [Recommendation Filtering](https://awesome-repositories.com/f/artificial-intelligence-ml/recommendation-engines/recommendation-filtering.md) — Removes previously viewed items and swaps insufficient results with alternative suggestions. ([source](https://gorse.io/docs/concepts/pipeline.html))
- [Recommendation Success Metrics](https://awesome-repositories.com/f/artificial-intelligence-ml/recommendation-success-metrics.md) — Tracks positive feedback rates and visualizes results to determine user engagement levels. ([source](https://gorse.io/docs/concepts/evaluation.html))
- [Hybrid Recommendation Integration](https://awesome-repositories.com/f/artificial-intelligence-ml/recommender-systems/recommendation-list-generators/hybrid-recommendation-integration.md) — Combines results from external APIs to supplement or replace internally generated model outputs. ([source](https://gorse.io/docs/concepts/))
- [Non-personalized Recommendations](https://awesome-repositories.com/f/artificial-intelligence-ml/recommender-systems/recommendation-list-generators/non-personalized-recommendations.md) — Generates global recommendation lists using custom expressions and scoring independent of user profiles. ([source](https://gorse.io/docs/concepts/recommenders/non-personalized.html))
- [Recommendation Merging](https://awesome-repositories.com/f/artificial-intelligence-ml/recommender-systems/recommendation-list-generators/recommendation-merging.md) — Combines item suggestions from remote endpoints into a final recommendation list using automated scripts. ([source](https://gorse.io/docs/concepts/recommenders/external.html))

### Part of an Awesome List

- [Recommendation Systems](https://awesome-repositories.com/f/awesome-lists/ai/recommendation-systems.md) — A distributed framework for building and serving personalized recommendation engines at scale.
- [AI and Machine Learning](https://awesome-repositories.com/f/awesome-lists/ai/ai-and-machine-learning.md) — AI-powered recommender system engine.
- [Recommender Systems](https://awesome-repositories.com/f/awesome-lists/ai/recommender-systems.md) — Universal open-source recommender system for online services.

### Data & Databases

- [Vector Similarity Search](https://awesome-repositories.com/f/data-databases/vector-similarity-search.md) — Calculates item similarities using embedding vectors to suggest related content. ([source](https://gorse.io/docs/concepts/recommenders/item-to-item.html))
- [Result Caching](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing/result-caching.md) — Stores intermediate computation results and final lists to reduce CPU load and improve response times. ([source](https://gorse.io/docs/concepts/pipeline.html))
- [Pluggable Storage Backends](https://awesome-repositories.com/f/data-databases/graph-databases/pluggable-storage-backends.md) — Implements a pluggable storage architecture allowing the use of various database engines for persistence and caching. ([source](https://gorse.io/docs/config.html))
- [Item Management](https://awesome-repositories.com/f/data-databases/item-management.md) — Provides APIs to create, modify, delete, and retrieve the individual items suggested to users. ([source](https://gorse.io/docs/api/restful-api.html))
- [Recommendation Entity Management](https://awesome-repositories.com/f/data-databases/recommendation-entity-management.md) — Provides an interface to inspect relationships and delete specific user or item records. ([source](https://gorse.io/docs/dashboard/overview.html))

### DevOps & Infrastructure

- [Workflow Execution Scaling](https://awesome-repositories.com/f/devops-infrastructure/deployment-scaling/scaling-profiles/workflow-throughput-scaling/workflow-execution-scaling.md) — Distributes workloads across multiple server and worker nodes to increase the volume of recommendations generated. ([source](https://gorse.io/docs/deploy/docker.html))
- [Distributed Recommendation Infrastructure](https://awesome-repositories.com/f/devops-infrastructure/distributed-recommendation-infrastructure.md) — Deploys a distributed system across Kubernetes clusters to handle high request volumes and large datasets.
- [Role-Based Scaling](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-scaling/role-based-scaling.md) — Distributes tasks across master, worker, and server nodes to separate heavy model training from real-time serving. ([source](https://gorse.io/docs/concepts/pipeline.html))
- [Single-Binary Distributions](https://awesome-repositories.com/f/devops-infrastructure/deployment-management-strategies/automation-and-tooling/deployment-tooling/single-binary-distributions.md) — Provides a standalone executable containing all dependencies for easy installation on a single node. ([source](https://gorse.io/docs/deploy/binary.html))
- [Kubernetes Application Deployments](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-deployments/kubernetes-application-deployments.md) — Provides automated Helm charts to bootstrap the engine and database on Kubernetes clusters for rapid installation. ([source](https://gorse.io/docs/deploy/kubernetes.html))
- [Service Deployment](https://awesome-repositories.com/f/devops-infrastructure/service-deployment.md) — Supports installing the system via binaries, containers, or clusters to establish a running recommendation service. ([source](https://gorse.io/docs/deploy/))
- [Single-Node Deployment](https://awesome-repositories.com/f/devops-infrastructure/single-node-deployment.md) — Packages all necessary components into a single container for simplified installation on a single machine. ([source](https://gorse.io/docs/deploy/docker.html))
- [Prediction Workload Distribution](https://awesome-repositories.com/f/devops-infrastructure/worker-scaling/prediction-workload-distribution.md) — Distributes the computation of item and user similarities across multiple worker nodes to handle large-scale datasets. ([source](https://cdn.jsdelivr.net/gh/gorse-io/gorse@master/README.md))

### User Interface & Experience

- [Item-to-Item Similarity](https://awesome-repositories.com/f/user-interface-experience/form-builders/builder-item-collapsers/builder-item-managers/list-item-markers/item-to-item-similarity.md) — Suggests items similar to a target by calculating neighbor similarity based on a chosen field. ([source](https://gorse.io/docs/config.html))

### Web Development

- [Recommendation APIs](https://awesome-repositories.com/f/web-development/recommendation-apis.md) — Delivers real-time recommendation results to external services through a set of standardized web endpoints. ([source](https://cdn.jsdelivr.net/gh/gorse-io/gorse@master/README.md))
- [Recommendation SDKs](https://awesome-repositories.com/f/web-development/recommendation-sdks.md) — Offers dedicated SDKs for Go, Python, Rust, TypeScript, Java, and .NET to consume recommendation services.
- [External Recommendation Integrations](https://awesome-repositories.com/f/web-development/third-party-api-integrations/external-recommendation-integrations.md) — Retrieves item suggestions from third-party services to expand the local recommendation set. ([source](https://gorse.io/docs/concepts/recommenders/))

### Security & Cryptography

- [API Key Authentication](https://awesome-repositories.com/f/security-cryptography/api-key-authentication.md) — Restricts access to recommendation endpoints by validating a unique identifier passed in the request header.

### Software Engineering & Architecture

- [Database Abstraction Layers](https://awesome-repositories.com/f/software-engineering-architecture/database-abstraction-layers.md) — Abstracts the storage layer to allow switching between different database engines for persisting users, items, and feedback.
- [Distributed Role Separation](https://awesome-repositories.com/f/software-engineering-architecture/distributed-role-separation.md) — Implements a distributed architecture that separates master, worker, and server nodes to decouple model training from real-time serving.
- [Multi-Language SDKs](https://awesome-repositories.com/f/software-engineering-architecture/multi-language-sdks.md) — Provides pre-built client libraries in multiple programming languages to ensure consistent access to the recommendation engine. ([source](https://gorse.io/docs/api/))

### System Administration & Monitoring

- [Cluster Health Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/cluster-health-monitoring.md) — Provides a terminal interface to track the health and progress of background tasks and distributed cluster nodes. ([source](https://gorse.io/docs/gorse-cli.html))
- [Metric and Performance Monitors](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors.md) — Tracks accuracy metrics alongside user and item counts to evaluate model effectiveness. ([source](https://gorse.io/docs/dashboard/overview.html))
- [Recommendation Management Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/recommendation-management-dashboards.md) — Provides a web-based dashboard for configuring recommendation flows and monitoring cluster health.
- [System Monitoring Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/system-monitoring-dashboards.md) — Provides a centralized administrative interface to monitor system health and handle data movement. ([source](https://cdn.jsdelivr.net/gh/gorse-io/gorse@master/README.md))
