lightfm/lightfm-php
Composer 安装命令:
composer require lightfm/lightfm-php
包简介
PHP port of the LightFM Python library using FFI bindings to C implementation for hybrid recommender systems
README 文档
README
PHP port of the LightFM Python library using FFI bindings to C implementation for hybrid recommender systems.
Installation
Install via Composer:
composer require lightfm/lightfm-php
Requirements
- PHP 8.0 or higher
- FFI extension enabled
- The bundled C library (
liblightfm.so)
Usage
<?php require_once 'vendor/autoload.php'; // Create a LightFM model $model = new LightFM([ 'no_components' => 30, 'loss' => 'warp', 'learning_rate' => 0.05 ]); // Fit the model with interaction data $interactions = new CSRMatrix($data, $rows, $cols); $model->fit($interactions); // Get recommendations $predictions = $model->predict($userIds, $itemIds);
Running the Examples
The repository includes a comprehensive demo script that showcases all major features of the library.
Prerequisites
- Install dependencies:
composer install
- Ensure the C library is compiled and available:
# The liblightfm.so file should be in the project root
ls -la liblightfm.so
Run the Demo
Execute the demo script from the project root:
php test/main.php
The demo will demonstrate:
- Loading synthetic MovieLens-like data
- Training models with WARP loss function
- Making predictions and generating recommendations
- Evaluating model performance with precision metrics
- Using user and item features
- Working with custom interaction data
Expected Output
The demo will display:
- Dataset statistics (users, items, interactions)
- Training progress and timing
- Model evaluation metrics (precision@5)
- Top recommendations for sample users
- Performance comparison with and without features
- Custom dataset predictions
Note: The current C implementation is simplified, so prediction scores may appear as zeros. This is expected behavior for the initial implementation.
Features
- Hybrid Recommender Systems: Supports both collaborative filtering and content-based filtering
- Multiple Loss Functions: WARP, BPR, and logistic loss functions
- Fast C Implementation: Uses FFI bindings to a compiled C library for performance
- CSR Matrix Support: Efficient sparse matrix operations
- Evaluation Metrics: Built-in precision, recall, and AUC metrics
Classes
LightFM: Main model class for training and predictionCSRMatrix: Sparse matrix implementation for efficient data handlingEvaluation: Evaluation metrics for model performanceMovieLensDataset: Dataset loader for MovieLens dataLightFMFFI: FFI bindings to the C library
License
Apache-2.0
lightfm/lightfm-php 适用场景与选型建议
lightfm/lightfm-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 07 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「machine-learning」 「ffi」 「recommender-systems」 「collaborative-filtering」 「matrix-factorization」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 lightfm/lightfm-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 lightfm/lightfm-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 lightfm/lightfm-php 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP FFI Environment
SDL FFI bindings for the PHP language
Simple PHP client for Qdrant vector database. Easy-to-use library for storing, searching, and managing vector embeddings in AI and machine learning applications.
#1 PHP client for the Replicate API, compatible with Laravel and native PHP, built on Saloon v4
🚀 GigaChat PHP SDK - полнофункциональная библиотека для интеграции с Sber GigaChat API. Простое подключение GigaChat к PHP-приложениям с поддержкой Laravel. Генерация текста, чат-боты, AI-ассистенты. Полная документация, примеры кода, OAuth авторизация.
A PHP FFI integration with TdLib via JSON interface
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 28
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2025-07-01