Hugging Face上の生成AIモデルと、Laravelで開発したWebアプリを、APIエンドポイントを作成して連携する方法を解説します。なおエンドポイントの利用は有料となります。
なお詳しい手順はYoutube動画で解説しているので、併せてご覧ください。本記事では、動画内で使用したコードをご紹介します。
↓↓↓
Hugging Face上の生成AIモデルとLaravelをAPI連携②【エンドポイント作成】
まずはエンドポイントを作成します。エンドポイントの作成は動画をご覧ください。その後の手順について、コードと共にご紹介します。
コントローラの作成
Laravelで新規プロジェクトを作成します。次にライブラリをインストールしておきます。
composer require guzzlehttp/guzzle
その後、コントローラを作成します。
php artisan make:controller HuggingFaceController
作成したコントローラには下記のコードをいれます。
【HuggingFaceController】
<?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】
<!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に、下記のルート設定を追加します。
Route::get('/huggingface/prediction', [App\Http\Controllers\HuggingFaceController::class, 'getPrediction']);
テスト
ブラウザにLaravelプロジェクトを開き、/huggingface/predictionパスをいれてみてください。

うまくいったら、質問部分を変えたりしてみてくださいね。
公式ページとエンドポイントの料金について
公式ページはこちらです。
なおエンドポイントの利用にはお金がかかります。Hugging Face のエンドポイントAPIの料金については下記の公式ページをご覧ください。
料金については、下記のページでより詳しく説明されています。スペックが高くなるにつれて、計算が複雑になります。
料金について具体的な質問がある場合には、サポートに問い合わせることをおすすめします。
さいごに
Hugging Faceでは今回ご紹介した方法以外にも、無料でAPIを利用する方法があります。下記をご覧ください。
Hugging Faceについてや、Hugging Face上の生成AIモデルの利用方法の比較表は、下記記事をご覧ください。




をローカルで実行:方法と応答速度をすべて公開.png)

コメント