MeliGraph.Algorithm behaviour (MeliGraph v0.2.1)

Copy Markdown View Source

Behaviour genérico para algoritmos de recomendação.

Inspirado no padrão Oban Engine: cada algoritmo implementa compute/4 e pode ser trocado ou estendido sem alterar o restante do sistema.

Summary

Callbacks

Executa o algoritmo de recomendação.

Types

result()

@type result() :: {:ok, [{term(), float()}]} | {:error, term()}

Callbacks

compute(conf, entity_id, type, opts)

@callback compute(
  conf :: MeliGraph.Config.t(),
  entity_id :: non_neg_integer(),
  type :: atom(),
  opts :: keyword()
) :: result()

Executa o algoritmo de recomendação.

Parâmetros

  • conf - configuração da instância
  • entity_id - ID interno do vértice semente
  • type - tipo de recomendação (:content, :users, :items)
  • opts - opções específicas do algoritmo

Retorno

{:ok, [{external_id, score}]} ordenado por score decrescente, ou {:error, reason}.