Hugging Face上の生成AIモデルと、Laravelで開発したWebアプリを、APIエンドポイントを作成して連携する方法を解説します。なおエンドポイントの利用は有料となります。
なお詳しい手順はYoutube動画で解説しているので、併せてご覧ください。本記事では、動画内で使用したコードをご紹介します。
↓↓↓
Hugging Face上の生成AIモデルとLaravelをAPI連携②【エンドポイント作成】
まずはエンドポイントを作成します。エンドポイントの作成は動画をご覧ください。その後の手順について、コードと共にご紹介します。
コントローラの作成
Laravelで新規プロジェクトを作成します。次にライブラリをインストールしておきます。
1 |
composer require guzzlehttp/guzzle |
その後、コントローラを作成します。
1 |
php artisan make:controller HuggingFaceController |
作成したコントローラには下記のコードをいれます。
【HuggingFaceController】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use GuzzleHttp\Client; class HuggingFaceController extends Controller { public function getPrediction() { $client = new Client([ 'base_uri' => 'API エンドポイントをいれてください', 'headers' => [ "Authorization" => "Bearer トークンをいれてください", "Content-Type" => "application/json" ] ]); $userMessage = request('message', "白菜を使ったレシピはどんなものがありますか。"); $prompt = "あなたは親切で有能なアシスタントです。\n\nUser: {$userMessage}\nAssistant:"; $response = $client->post('', [ 'json' => [ 'inputs' => $prompt, 'parameters' => [ 'max_new_tokens' => 128, 'temperature' => 0.3, ], ], ]); $result = json_decode($response->getBody(), true); return view('prediction', ['response' => $result[0]['generated_text']]); } } |
HuggingFaceトークンの取得方法が分からない、などあれば動画を見てくださいね。
ビューファイルの作成
次にビューファイルを作ります。resources/viewsの中にprediction.blade.phpファイルを作り、下記コードをいれます。
【prediction.blade.php】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>生成AIレスポンス</title> </head> <body> <h1>生成AIレスポンス</h1> <h2>Generated Text:</h2> <p>{{ $response }}</p> </body> </html> |
ルート設定の追加
最後に、routes/web.phpに、下記のルート設定を追加します。
1 |
Route::get('/huggingface/prediction', [App\Http\Controllers\HuggingFaceController::class, 'getPrediction']); |
テスト
ブラウザにLaravelプロジェクトを開き、/huggingface/predictionパスをいれてみてください。
うまくいったら、質問部分を変えたりしてみてくださいね。
公式ページとエンドポイントの料金について
公式ページはこちらです。
なおエンドポイントの利用にはお金がかかります。Hugging Face のエンドポイントAPIの料金については下記の公式ページをご覧ください。
料金については、下記のページでより詳しく説明されています。スペックが高くなるにつれて、計算が複雑になります。
料金について具体的な質問がある場合には、サポートに問い合わせることをおすすめします。
さいごに
Hugging Faceでは今回ご紹介した方法以外にも、無料でAPIを利用する方法があります。下記をご覧ください。
Hugging Faceについてや、Hugging Face上の生成AIモデルの利用方法の比較表は、下記記事をご覧ください。