cornac

一套接口跑多种推荐模型,快速对比选型

开源 🏷️完全免费 ⏳ 访问状态待核验 开发框架 🍴 复刻 174 🐛 待处理 24 👀 关注 21
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1063
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,Apache 2.0 许可证

项目预览

cornac 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开发框架
开发团队PreferredAI
定价模式🏷️完全免费
价格说明开源免费,Apache 2.0 许可证
访问状态⏳ 访问状态待核验
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型collaborative-filtering,matrix-factorization,multimodal-learning,multimodality,recommendation-algorithms,recommendation-engine,recommendation-system,recommender-system
GitHub 星标★ 1063
上线时间2018-07-17 00:00:00
代码更新2026-10-31
仓库体积27.2 MB
本站数据更新2026-11-01
维护状态活跃
收录时间2026-11-01
浏览次数0

项目介绍

Cornac 是一个面向多模态推荐系统的对比研究框架,用 Python 编写,目标是把推荐算法的复现、评测与对比统一到同一套接口下。它解决研究者和工程师在尝试不同推荐模型时,数据预处理、训练流程和评估指标各写一套、结果难以横向比较的问题。核心能力包括:内置多种推荐算法(协同过滤、矩阵分解、基于内容的模型以及融合文本、图像等多模态信息的模型),提供统一的数据加载与划分接口,支持常见排序与评分指标评估,并可通过配置文件或命令行快速跑实验。框架强调可复现与可扩展,新增模型只需实现少量接口即可接入现有评测流程,适合做推荐算法选型、论文基线对比和教学演示。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-11-01 · 当前星标 ★ 1063

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • Python 3 环境(当前仅支持 Python 3)
  • pip3 或 conda 包管理器(任选其一)
  • macOS 用户如需运行多线程算法,需通过 Homebrew 安装 gcc 以提供 OpenMP 编译器
  • 部分模型依赖 TensorFlow、PyTorch 等第三方库,需按所选模型另行安装

安装与启动步骤

  1. 1确认 Python 版本

    Cornac 目前仅支持 Python 3;先在终端确认本机 Python 3 可用,再选择安装方式。

    python3 --version
  2. 2用 pip 安装(推荐)

    官方推荐的安装方式,直接从 PyPI 拉取最新稳定版,适合大多数用户。

    pip3 install cornac
  3. 3或改用 conda 安装

    已在用 Anaconda/Miniconda 的环境可选此方式,从 conda-forge 频道安装。

    conda install cornac -c conda-forge
  4. 4或从源码安装

    需要最新更新时,直接从 GitHub 仓库安装;三种方式选一种即可,不要重复安装。

    pip3 install git+https://github.com/PreferredAI/cornac.git
  5. 5macOS 安装 gcc

    部分算法用 OpenMP 做多线程,macOS 用户装 gcc 并 link 后才能高效运行。

    brew install gcc && brew link gcc
  6. 6验证导入是否正常

    导入核心模块和常用模型,无报错即说明安装成功,可继续写实验脚本。

    python3 -c "import cornac; from cornac.models import MF, PMF, BPR; from cornac.eval_methods import RatioSplit; from cornac.metrics import MAE, RMSE, Precision, Recall, NDCG, AUC, MAP"

如何确认成功

执行导入命令无报错,能成功 from cornac.models import BPR 等模块即安装完成。

常见问题

Q:pip 安装失败或不稳定怎么办?

A:README 提供了三种途径:pip3 安装、conda-forge 安装、从 GitHub 源码安装,可换用另一种方式重试。

Q:macOS 上多线程算法运行很慢?

A:部分算法依赖 OpenMP 实现多线程,需先执行 brew install gcc && brew link gcc 提供编译器。

Q:运行时提示缺少某些依赖?

A:各模型所需的额外依赖列在 README 的 Models 部分,请按所选模型对照安装。

Q:怎么拿到商品推荐结果?

A:README 示例中模型服务运行在 http://localhost:8080,可用 curl -X GET "http://localhost:8080/recommend?uid=63&k=5&remove_seen=false" 获取 top-5 推荐,服务启动方式见官方文档。

Q:第一个实验怎么写?

A:README 的 Getting started 只给出导入示例(RatioSplit、MF/PMF/BPR、各类指标),完整实验代码请参考官网 Tutorials 与 examples 目录。

注意事项

  • README 仅给出安装命令与导入片段,完整实验流程请查阅官方文档 cornac.readthedocs.io 和 tutorials。
  • 三种安装方式择一即可,混用可能造成版本冲突。
  • Cornac 与 TensorFlow、PyTorch 等库兼容,新增模型只需实现少量接口即可接入评测流程。

核心亮点

  • 统一的数据加载、训练与评估流程,多模型结果可直接横向对比
  • 内置协同过滤、矩阵分解及多模态融合等多类算法,开箱即用
  • 新增模型只需实现少量接口,扩展成本低,便于做基线复现

不足之处

  • 多模态部分依赖外部特征文件,数据准备环节仍需较多手工工作
  • 深度模型与大规模工业级场景的支持相对有限,偏研究用途

适用场景

  • 学术研究中复现和对比推荐算法基线
  • 推荐系统选型阶段快速横向评测多个模型
  • 教学场景下演示协同过滤与多模态推荐流程

替代项目

RecBole、LightFM、Surprise

上一篇:python-sdk

下一篇:没有了!

同类项目推荐

ComfyUI-QwenVL 开源

在ComfyUI里直接跑Qwen-VL,看图看视频出文字

ComfyUI-QwenVL custom node: Integrates the Qwen-VL series, including Qwen2.5-VL, Qwe···

★ 922 2026-10-06
AI 开源

Swift 应用快速接入生成式 AI,一套代码多模型

The definitive, open-source Swift framework for interfacing with generative AI.

★ 230 2026-08-09
OfficeFloor 开源

用 YAML 声明 REST 流程,让 AI 轻松生成编排代码

Explicit YAML orchestration for AI-augmented Spring Boot REST — declare each endpoi···

★ 71 2026-08-09
epsiclaw 开源

515行Python实现极简智能体,秒懂秒改

The Karpathy treatment for OpenClaw - stripped to ε. 515 lines of Python, 6 files, ···

★ 51 2026-08-09
RasaTalk 开源

用 JavaScript 快速搭建基于 Rasa 的聊天机器人

A chatbot framework for Rasa NLU

★ 303 2026-08-09
connectonion 开源

让多个 AI Agent 组队干活,少写调度代码。

CLI is all you need. The agent CLI harness.

★ 1504 2026-09-12
comfyui-client 开源

用 TypeScript 轻松调用 ComfyUI,实现可编程图像生成工作流。

all ComfyUI http/ws APIs. support NodeJS / Browser environments. and advanced progra···

★ 152 2026-08-09