書籍「Laravelの教科書」Laravel13対応サポートガイド公開中 → ダウンロードはこちら

Hugging Face上の生成AIモデルとLaravelをAPI連携【APIエンドポイント作成】

AI系ツール

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モデルの利用方法の比較表は、下記記事をご覧ください。

AI系ツール

生成AIを「安全に」使うための研修・セミナー

お問い合わせ

生成AIの業務活用で気になるのは、効率だけでなくセキュリティです。 実践的な活用に加え、セキュリティ対策もお伝えします。

詳細を見てみる
 

生成AIを「安全に」使うための研修・セミナー

お問い合わせ

生成AIの業務活用で気になるのは、効率だけでなくセキュリティです。 実践的な活用に加え、セキュリティ対策もお伝えします。

詳細を見てみる

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新版Laravel13への対応に対応。Laravel8からの各バージョンのテキストもご覧になれます♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新のLaravel13に対応。Laravel8からの各バージョンのテキストもご覧になれます♪

Laravelの本を書きました。


ひつじが目印♪

Laravelの使い方を分かりやすく解説した本を書きました。 書店やAmazon等のオンラインショップにて販売中
最新版Laravel13対応用サポートガイド(PDF)あり

書籍の詳細を見てみる

Laravelの本書きました。


ひつじが目印♪
クリックするとamazonページへ。
最新版Laravel13対応用
サポートガイド(PDF)あり

書籍の詳細を見てみる
シェアする
Twitter始めました。

コメント

タイトルとURLをコピーしました