【GPT4FREE】GPT-4を無料で使えるってマジ?日本語での使い方〜本物のGPT-4との比較まで

GPT4FREE GPT-4 AIツール 比較

WEELメディア事業部LLMライターのゆうやです。

GPT4FREEは、無料でGPT-4などの言語モデルにアクセスを提供するプロジェクトです。

テキスト生成、チャットボット作成、言語生成、翻訳、コード支援など多様な用途で利用可能であり、Pythonパッケージを介してインストール可能です。

また、異なるサービスプロバイダを通じてモデルにアクセスし、非同期でのパフォーマンス向上などの機能もサポートしています​。

参考:https://github.com/xtekky/gpt4free

このプロジェクトは大注目を集めており、GitHubリポジトリのスター数は51,000を超えています!

今回は、GPT4FREEの概要や使ってみた感想をお伝えします。

是非最後までご覧ください!

なお弊社では、生成AIツール開発についての無料相談を承っています。こちらからお気軽にご相談ください。
→無料相談で話を聞いてみる

目次

GPT4FREEの概要

GPT4FREEは、無料でGPT-4などの言語モデルにアクセスを提供するプロジェクトです。

テキスト生成、チャットボット作成、言語生成、翻訳、コード支援など多様な用途で利用可能であり、Pythonパッケージを介してインストール可能です。

また、異なるサービスプロバイダを通じてモデルにアクセスし、非同期でのパフォーマンス向上などの機能もサポートしています​。

GPT4FREEは、研究者、開発者、AI愛好家が高度なAIモデルの機能と制限を調査する際の障壁を無くし、誰でも自由に無料でGPT4などの高性能なモデルにアクセスできるようにするために作成されました。

結果、GitHubで51,000以上のスターを獲得するなど、大きな存在感を示し、大反響を呼んでいます。

しかし、GPT4FREEはアクセス制御と利用規約を回避することにより、本来なら有料なモデルや機能を無料で利用できるので、登場以来倫理的及び法的問題が議論されているのも事実です。

弊社ではGPT4FREEの積極的な使用を推奨していません。

そんなGPT4FREEでは、現在以下のモデルを使用できます。

参考:https://github.com/xtekky/gpt4free

ここからは、GPT4FREEをローカルにインストールする方法と、使い方を紹介します。

GPT4FREEのライセンスについて

GPT4FREEは「GNU General Public License v3.0」でライセンスされています。GNU General Public License v3.0はフリーソフトウェアとオープンソースソフトウェアの原則を強調し、ソフトウェアの自由な利用と共有を促進するために設計されている比較的自由度が高いライセンスとなっています。

該当のライセンスについて詳しくは公式ページをご確認ください。
GNU General Public License v3.0 → https://www.gnu.org/licenses/gpl-3.0.html

利用用途可否
商用利用
改変
配布
特許使用
私的利用

なお、本物のGPT4について詳しく知りたい方は、下記の記事を合わせてご確認ください。
GPT-4とは?GPT-4の使い方や料金体系、GPT-3.5との違い、API、画像入力の方法を解説!

GPT4FREEの使い方

ここではGPT4FREEを動かすための必要なPCのスペックやインストール方法をご紹介します。
なお、インストール方法については執筆時点での情報となりますのでご了承ください。

GPT4FREEを動かすのに必要なPCのスペック

今回は下記のPCでGPT4FREEを動かしました。

■マシン:MacBook Pro(13-inch 2020)
■CPUの種類:1.4 GHz クアッドコアIntel Core i5
■システムメモリ:16GB
■GPUの種類:Intel Iris Plus Graphics 645 1536 MB
■HDD/SSDの空き容量:50GB

■Pythonのバージョン
Python 3.10以上

そこまで高スペックなマシンを用意しなくてもGPT4FREEを利用することができます

GPT4FREEのインストール方法

GPT4FREEのインストールは、pipを使う方法と、GitHubのリポジトリをクローンする方法と、Docker経由でインストールする方法の3種類あります。

インストール方法やセットアップ方法は、以下のサイトを参考にしてください。

get-started/quickstart

今回は、GitHubのリポジトリをクローンしてインストールします。

以下のコマンドを実行してください。

git clone https://github.com/xtekky/gpt4free.git

これでインストールは完了したので、実行環境のセットアップを行います。

前提条件としてバージョン3.10以降のPythonが必要なので、あらかじめインストールしておいてください。

まずはプロジェクトディレクトリに移動します。

cd gpt4free

次に、Python仮想環境を作成します。

python3 -m venv venv

作成が完了したら、以下のコマンドで仮想環境のアクティベートを行います。

Windows

.\venv\Scripts\activate

MacOS、Linux

source venv/bin/activate

アクティベートしたら、必要なパッケージをインストールします。

pip install -r requirements.txt

これで実行環境のセットアップは完了です。

続いて、GPT4FREEの使用方法です。

ここからはPythonコードを実行することになるので、実行結果が分かりやすいjupyter notebookなどを使用することをお勧めします。

まずは以下のコードを実行して、g4fパッケージのインポートと初期設定を行います。

import g4f

g4f.debug.logging = True # enable logging
g4f.check_version = False # Disable automatic version checking
print(g4f.version) # check version
print(g4f.Provider.Ails.params)  # supported args

これで設定は完了で、応答を得るには以下のコードを実行します。

response = g4f.ChatCompletion.create(
    model="gpt-4-0613",
    messages=[{"role": "user", "content": "Hello"}],
    stream=True,
)

for message in response:
    print(message, flush=True, end='')

contentの部分がプロンプトになるので、ここを書き換えてください。

また、modelの部分を任意のモデルに変更することで、対応した様々なモデルを使用できます。

それでは実際に使ってみましょう。

GPT4FREEを実際に使ってみた

先ほどの通常の応答のコードで、以下のプロンプトを入力して実行します。

Introduce yourself

自己紹介して

結果はこのようになりました。

Hello! I'm ChatGPT, an artificial intelligence language model developed by OpenAI. My main function is to assist in generating human-like text based on the input I receive. 
I can aid with a wide range of tasks, such as answering questions, generating creative content, tutoring in various subjects, learning new information, and even casual conversation. 
However, it's important to note that I don't access personal data unless explicitly provided in the course of our conversation. 
I'm designed to respect user privacy and confidentiality. How can I assist you today?

こんにちは!私はChatGPT、OpenAIによって開発された人工知能言語モデルです。私の主な機能は、受け取った入力に基づいて人間のようなテキストを生成するのを支援することです。質問に答えたり、クリエイティブなコンテンツを生成したり、様々な科目の個人指導をしたり、新しい情報を学んだり、カジュアルな会話をしたりと、幅広いタスクをサポートすることができます。しかし、会話の中で明示的に提供されない限り、私は個人情報にアクセスしないことに注意することが重要です。私はユーザーのプライバシーと秘密を尊重するように設計されています。何かお手伝いできることはありますか?

ちゃんとgpt-4-0613が使用できているようです。

日本語でも動作するか試しています。

以下のプロンプトを入力して実行します。

日本の人口を教えて

結果はこのようになりました。

日本の人口は年々変動し、また正確な数値は最新の国勢調査によるものです。この記述が作成される2021年の初めにおける推定人口は約1億2650万人です。
しかし、最新かつ正確な数値を得るには日本の統計局または関連の公式情報源をご覧いただくことをお勧めします。

ちゃんと日本語でも使えるようです。

GPT4FREEは、モデルを指定できるだけでなく、モデルを提供しているサービスプロバイダーを指定することもできます。

例えば以下のコードを実行することで、Aichatのgpt-3.5-turboを使用できます。

from g4f.Provider import (
    AItianhu,
    Aichat,
    Bard,
    Bing,
    ChatBase,
    ChatgptAi,
    OpenaiChat,
    Vercel,
    You,
    Yqcloud,
)

# Set with provider
response = g4f.ChatCompletion.create(
    model="gpt-3.5-turbo",
    provider=g4f.Provider.Aichat,
    messages=[{"role": "user", "content": "Hello"}],
    stream=True,
)

for message in response:
    print(message)

また、コードを以下のようにすることで、サービスプロバイダーを非同期的に実行して、よりパフォーマンスを向上させることが可能です。

import g4f, asyncio

_providers = [
    g4f.Provider.Aichat,
    g4f.Provider.ChatBase,
    g4f.Provider.Bing,
    g4f.Provider.GptGo,
    g4f.Provider.You,
    g4f.Provider.Yqcloud,
]

async def run_provider(provider: g4f.Provider.BaseProvider):
    try {
        response = await g4f.ChatCompletion.create_async(
            model=g4f.models.default,
            messages=[{"role": "user", "content": "Hello"}],
            provider=provider,
        )
        print(f"{provider.__name__}:", response)
    } except Exception as e {
        print(f"{provider.__name__}:", e)
      
async def run_all():
    calls = [
        run_provider(provider) for provider in _providers
    ]
    await asyncio.gather(*calls)

asyncio.run(run_all())

ただ、どうやら現段階では使用できないサービスプロバイダーもあるようで、試しにClaude-v2を使用するために、以下のようにプロバイダーにVercelを指定します。

from g4f.Provider import (
    AItianhu,
    Aichat,
    Bard,
    Bing,
    ChatBase,
    ChatgptAi,
    OpenaiChat,
    Vercel,
    You,
    Llama2,
)

# Set with provider
response = g4f.ChatCompletion.create(
    model="claude-v2",
    provider=g4f.Provider.Vercel,
    messages=[{"role": "user", "content": "日本の人口を教えて"}],
    stream=True,
)

for message in response:
    print(message)

これを実行すると、以下のようにVercelは動いていないというエラーが出てきてしまいます。

ProviderNotWorkingError: Vercel is not working

なので、GPT4FREEで安定して使えるモデルはGPT4とGPT3.5くらいなのかもしれません。

さらに詳しい仕様や使い方は以下のサイトに載っているので、参考にしてみてください。

get-started/introduction

ここからは、GPT4FREEで使えるGPT4が、本物のGPT4と比べて生成速度や回答の精度などのパフォーマンスがどの程度違うのか検証していきます。

GPT4FREEのGPT4は本当に本物のGPT4と同じなのか比較検証してみた

ここからは、GPT4FREEのGPT4と本物のChatGPTのGPT4でどれほどの違いがあるのか検証していきます。

ただ、GPT4FREEで使えるGPT4は、gpt-4-0613までなので、ChatGPTで使える最新のgpt-4-1106-previewとは主に性能面で完全に一致することはないので、その点はご留意ください。

それでは早速検証していきましょう。

まずは先ほども行いましたが、自己紹介させてみましょう。

自己紹介して

結果はこのようになりました。

GPT4FREE

こんにちは、私の名前はChatGPTです。OpenAIによって訓練された大規模な言語モデルです。人々が情報を求めたり、アイデアを生成したり、全般的な会話を楽しんだりするために使われます。
あらゆる種類のトピックについて話す能力がありますが、私自身はまだ学習中なので、全ての事について完璧な知識を持っているわけではありません。
どんなご質問でもお気軽にどうぞ。

ChatGPT

私はChatGPT、OpenAIによって訓練された大規模な言語モデルです。最新のアーキテクチャであるGPT-4をベースにしています。テキストベースの質問に答えたり、様々な話題についての情報を提供したりすることができます。
また、画像の生成やブラウザの検索など、特定のツールを使用してタスクを実行する機能も持っています。どのようなお手伝いをさせていただけますか?

おおよそ同じような自己紹介をしてくれましたが、生成速度はGPT4FREEの方が大幅に速かったです。

続いて以下のプロンプトを入力します。

Pythonで回帰分析のコードを書いてください。

結果はこのようになりました。

GPT4FREE

もちろん、回帰分析の基本的なコードサンプルを提供できます。ここでは、シンプルな線形回帰を行う例として sklearn の LinearRegression を利用します。データは、架空のデータセットを生成します。

```python
# 必要なライブラリをインポートします
from sklearn.model_selection import train_test_split 
from sklearn.linear_model import LinearRegression
from sklearn import metrics
import numpy as np
import pandas as pd

# 架空のデータセットを生成します
np.random.seed(0)
x = np.random.rand(100, 1) # インディペンデント変数
y = 2 + 3 * x + np.random.rand(100, 1) # ディペンデント変数

# データをTrainとTestに分けます
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)

# 線形回帰モデルを作成します
regressor = LinearRegression()  
regressor.fit(x_train, y_train) #トレーニングデータで学習

# 作成したモデルで予測をする
y_pred = regressor.predict(x_test)

# 予測精度の評価(平均二乗誤差とR^2スコア)
print('Mean Squared Error:', metrics.mean_squared_error(y_test, y_pred))  
print('R squared:', metrics.r2_score(y_test, y_pred))
```

このコードでは、NumPyを使用してランダムな独立変数 `x` と対応する依存変数 `y` を生成しています。 `y` は `x` の線形組み合わせ(定数と係数を補正)にノイズを追加したものです。

次に、データを訓練セットとテストセットに分け、LinearRegressionオブジェクトを訓練データに適合させています。

最後に、モデルのテストデータに対する予測を評価するために、平均二乗誤差(MSE)とR^2スコアを計算しています。

ChatGPT

Pythonで回帰分析を行うためのコードを書く際、一般的にはNumPyやpandasでデータを扱い、scikit-learnを使用して回帰分析を行います。以下に、簡単な線形回帰分析の例を示します。このコードでは、まず適当なデータを生成し、そのデータを使って線形回帰モデルをトレーニングしています。

```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

# 仮のデータを生成
np.random.seed(0)
x = np.random.rand(100, 1)  # 100行1列の行列
y = 2 + 3 * x + np.random.randn(100, 1)  # y = 2 + 3x + ノイズ

# 線形回帰モデルを作成
model = LinearRegression()

# モデルのトレーニング
model.fit(x, y)

# テストデータを使用して予測
y_pred = model.predict(x)

# 結果のプロット
plt.scatter(x, y, color='blue')  # 実際の点
plt.plot(x, y_pred, color='red')  # 予測された直線
plt.title('Simple Linear Regression')
plt.xlabel('x')
plt.ylabel('y')
plt.show()

# 性能指標を表示
print('Coefficients:', model.coef_)
print('Intercept:', model.intercept_)
print('Mean squared error (MSE): %.2f' % mean_squared_error(y, y_pred))
print('Coefficient of determination (R^2): %.2f' % r2_score(y, y_pred))
```

このコードは以下のことを行います:

1. NumPyを使ってランダムなデータを生成します。
2. scikit-learnの`LinearRegression`を使用して線形回帰モデルを作成し、トレーニングします。
3. モデルを使用して予測を行い、結果をプロットして表示します。
4. モデルの係数、切片、平均二乗誤差、決定係数を表示します。

このコードを実行する前に、Python環境にNumPy、Matplotlib、scikit-learnがインストールされている必要があります。これらは通常、科学技術計算や機械学習によく使用されるライブラリです。

どちらも正しいコードを出力し、生成時間もほぼ変わりませんでした。

最後に、GPT4FREEのGPT4は本当に本物なのか確認するため、OpenAIのPlaygroundでgpt-4-0613を使用して、いつまでの知識を持っているのか質問し、GPT4FREEに質問した結果と一致するか確認します。

以下のプロンプトを入力します。

いつまでの知識を持ってますか?

結果はこのようになりました。

GPT4FREE

私の知識は、2021年までの情報に基づいています。そのため、それ以降の特定の出来事や最新の科学的発見については答えられない可能性があります。
ユーザーが最新の情報を求めている場合は、直接リアルタイムの情報源を確認することをお勧めします。

gpt-4-0613

私の知識は2021年10月までの情報を持っています。ただし、その後の情報については定期的なアップデートにより学習していく予定です。
また、私は主に学習や一般的な情報を提供するためのものであり、最新のニュースや特定の専門知識を持つわけではないことをご理解ください。

この結果を見ると、どうやらGPT4FREEで使えるgpt-4-0613は本物であることが分かります。

このように、GPT4FREEを使用すれば、最新ではないもののGPT4を無料で簡単にローカル環境で使用できます。

なお、GPT4並のAI、Geminiについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
【Gemini】ChatGPTの最強のライバルGoogleのGemini!日本語の使い方〜GPT-4との性能比較まで

まとめ

GPT4FREEは、無料でGPT-4などの言語モデルにアクセスを提供するプロジェクトです。

テキスト生成、チャットボット作成、言語生成、翻訳、コード支援など多様な用途で利用可能であり、Pythonパッケージを介してインストール可能です。

また、異なるサービスプロバイダを通じてモデルにアクセスし、非同期でのパフォーマンス向上などの機能もサポートしています​。

実際に使ってみた感想は、本家のChatGPTで使用できるGPT4とほとんど同じで、生成速度についてはGPT4FREEの方が速い場合もありました。

ただ、無料でGPT4が利用できてしまうことから、OpenAIに「削除しないと法的措置を取る」という勧告をされていたこともあるようで、いつ削除されるかわからない状況です。
ですので、弊社としてはGPT4FREEを利用するのはあまりおすすめしておらず、正規のGPT4を利用するほうが安全だと言えるでしょう。

サービス紹介資料

【無料】2023年2月版生成系AIの業務活用なら!

・生成系AIを活用したPoC開発

・生成系AIの業務活用コンサルティング

・システム間API連携

サービス紹介資料

生成系AIの業務活用なら!

・生成系AIを活用したPoC開発

・生成系AIのコンサルティング

・システム間API連携

最後に

いかがだったでしょうか?

弊社では

・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
ハルシネーション対策AIツールの開発
自社専用のAIチャットボットの開発

などの開発実績がございます。

まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。

➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

生成AIを社内で活用していきたい方へ

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。

セミナー内容や料金については、ご相談ください。

また、弊社紹介資料もご用意しておりますので、併せてご確認ください。

投稿者

  • ゆうや

    ロボット工学専攻。 大学時代は、対話ロボットのための画像キャプションの自動生成について研究。 趣味は、サウナとドライブ。

  • URLをコピーしました!
  • URLをコピーしました!
目次