ローカル環境のWordPressで、ローカルLLMのOllamaを動かす(AI Engine プラグイン)

WordPress の プラグイン「AI Engine」で、動作確認をしたい時、無料で AI を試したい…

Gemini でも 無料で使えるけど、使用制限があるため、気にせずに動作確認する方法を探したところ、Ollama を発見しました。

けれど、Ollama は、APIキー がありません。

 

なので、以下のコードを「functions.php」に記入します。

// API の接続先 URL を Ollama に変更する
add_filter( 'mwai_openai_endpoint', function( $url ) {
    return "http://localhost:11434/v1";
}, 100 );

// WordPressの通信そのものをフックする(AI Engineのフィルターではない)
add_filter( 'pre_http_request', function( $pre, $args, $url ) {

    // 宛先が OpenAI 改め Ollama へのリクエストなら
    if ( strpos( $url, '://localhost:11434' ) !== false ) {

        // 1. 無限ループ防止用のフラグをチェック
        if ( isset( $args['blocking'] ) && isset( $args['_mwai_processed'] ) ) {
            return $pre;
        }

        // 2. 中身を解析
        $body = json_decode( $args['body'], true );
        
        // 3. モデル名を Ollama 用に書き換え(AI Engine には内緒で)
        $body['model'] = 'gemma3n:latest'; // ここに正確なモデル名を入力

        // 4. 書き戻す
        $args['body'] = json_encode( $body );

        // 4. フラグを立てて、再帰呼び出し時に無視させる
        $args['_mwai_processed'] = true;
        
        // ヘッダーの調整(Ollama用)
        unset( $args['headers']['Authorization'] );

        // 5. Ollama に送信して結果を返す
        return wp_remote_post( $url, $args );
    }
    return $pre;
}, 10, 3 );

※「gemma3n:latest」のところは、Ollamaにて、コマンド「ollama list」で表示されたモデルを記載します。

 

ちなみに、AI Engine は、バージョン 3.4.7で、もちろん Free(無料版)です。

「設定」→「AI」では、以下のような設定にしています。

名前Local Ollama
種類OpenAI
APIキーsk-1234567890abcdef1234567890abcdef

※ APIキーは、適当な数字です。

コメント

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