このチュートリアルは、予測とルーメンを使用して映画の推奨アプリを構築することを示しています。 データのインポート、ランダムな映画の選択、推奨の生成、およびエンジンの展開について説明します。
.env
カスタムPio
プレースホルダーを実際のキーに置き換えることを忘れないでください データインポート(TMDBへのPredictionio&Elasticsearch):
.env
<code>APP_ENV=local APP_DEBUG=true APP_KEY=your-unique-key // Generate using `php artisan key:generate` PIO_KEY=your-pio-app-key TMDB_KEY=your-tmdb-api-key CACHE_DRIVER=file SESSION_DRIVER=file QUEUE_DRIVER=database</code>
:
app/Classes/Pio.php
<?php namespace App\Classes; use predictionio\EventClient; use predictionio\EngineClient; class Pio { public function eventClient() { $key = env('PIO_KEY'); $server = 'http://127.0.0.1:7070'; return new EventClient($key, $server); } public function predictionClient() { $server = 'http://127.0.0.1:8192'; return new EngineClient($server); } }
bootstrap/app.php
$app->middleware([ Illuminate\Session\Middleware\StartSession::class, ]);
app/Http/Controllers/AdminController.php
に追加します
<?php namespace App\Http\Controllers; use Laravel\Lumen\Routing\Controller as BaseController; use App\Classes\Pio; use GuzzleHttp\Client; use Elasticsearch\Client as ElasticsearchClient; class AdminController extends BaseController { public function importMovies(Pio $pio) { // ... (Import logic as described in the original, but using more concise variable names and improved formatting) ... } }
ランダムな映画の表示とユーザーアクションの録音:importMovies
app/Http/routes.php
$app->get('/movies/import', 'AdminController@importMovies');
:
app/Http/Controllers/HomeController.php
および<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Laravel\Lumen\Routing\Controller as BaseController; use App\Classes\Pio; use Elasticsearch\Client as ElasticsearchClient; class HomeController extends BaseController { public function index(Pio $pio) { // ... (Session setup and view rendering as in the original) ... } public function randomMovie(Request $request, Pio $pio) { // ... (Random movie selection and user action recording logic as in the original) ... } public function recommendedMovies(Pio $pio) { // ... (Recommendation retrieval and view rendering logic as in the original) ... } }
app/Http/routes.php
予測エンジンの展開とトレーニング:engine.json
エンジンの構築:pio build --verbose
エンジンのトレーニング:pio train --verbose
エンジンの展開:pio deploy --port 8192
<code>APP_ENV=local APP_DEBUG=true APP_KEY=your-unique-key // Generate using `php artisan key:generate` PIO_KEY=your-pio-app-key TMDB_KEY=your-tmdb-api-key CACHE_DRIVER=file SESSION_DRIVER=file QUEUE_DRIVER=database</code>
この合理化されたバージョンは、コードの読みやすさと組織を改善しながら、元のチュートリアルの機能を維持しています。 必要なパッケージ(Predictionio SDK、Guzzle、ElasticSearchクライアント、およびフロントエンド用のハンドルバー)をインストールすることを忘れないでください。 オリジナルのFAQセクションは関連性があり、貴重な追加情報を提供します。
以上が予測とルーメン:映画の推奨アプリの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。