Clineで無料でGPT-4oのAPIキーを設定して使う
先日、こちらの記事を書きました。
その過程で、liteLLMという単語が出てきました。
私は、そのまま参考にした動画を見ながら、GithubでGPT-4oのAPIキーを発行して、Bolt.newをローカル環境で使えるようにしました。
このときは、漠然とLiteLLMというものを知った感じだったのですが、今回ClineというVSCODEやcursorで使える拡張機能を知ったことで、LiteLLMがどのようなものか理解することができました。
Clineのページ
私はClaude3.5sonnetのAPIキーの利用料金の支払いに不安があるので、Clineを使うことを諦めました。
でも関連記事を読む中で、GPT-4oのAPIキーを無料で発行して使えることを知りました。
つまり先日のBolt.newで行った作業が、理解できたのです。
GitHubでAIのAPI Keyを無料で発行できるサービスがある
こちらを使うと、Githubで、AIのAPI KEYを発行できます。
このページにアクセスすると、GPT-4oやGPT-4miniの他に、様々なAIの名前が一覧で掲載されています。
この中から、GPT-4oを選択します。
次のページの右上に、緑のボタンがあります。
これをクリックするとAPI KEYを発行する画面が、表示されます。
ここから先のKEYの発行手順は、こちらの記事を参考にしてください。
LiteLLMの出番
LiteLLMは、さまざまな大規模言語モデル(LLM)を統一されたAPIインターフェースで呼び出すための便利なツールです。
ピノキオを使ってBolt.newを使うときは、すでにLiteLLMがインストールされたと思われます。
API KEYのBASE URLに、すでにローカルのURLがセットされていたので。
念のためpipのバージョンを確認してください。
pip --version
このコマンドで、インストールします。
pip3 install litellm
ここでは、pipでも使えたので、コマンドがpipとpip3が混在して書かれています。
お使いの環境にあわえて頂けると幸いです。
Python 3.x環境であれば、pip install litellmとpip3 install litellmのどちらを使用しても問題ありません。
もし、litellm[proxy]がインストールされていないとエラーが出たら、下記のコマンドでインストールしてください。
pip install 'litellm[proxy]'
環境変数設定
Githubで発行したKEYを使えるようにします。
#Windowsの場合は、こちら
$env:OPENAI_API_KEY="******************"
#Ubuntuなどの場合は、こちら
export OPENAI_API_KEY="*****************"
今回は、Githubで発行したKEYなので
$env:GITHUB_API_KEY="****************"
こちらで、起動します。
litellm --model github/gpt-4o
このgithubの文字の部分を、使うAPIの種類に合わせてください。
起動できた画面です。
この画面に表示されているURLをBASE URLに入力します。
これで、設定完了です。
テストしてみました。
電卓のアプリを作ることを試しました。
でも、途中で、トークン数8000の限度を超えてしまい、エラーが出ました。
私は、チャットで、トークンが8000を超えないようにしてくださいと書いたら、続きを処理できました。
こちらが、チャット画面です。
私が見た動画では、フレームワークを使って電卓のアプリを作っていました。
私は、何も用意していなかったので、HTML、CSS、Javascriptのファイルが自動で作られていきました。
ファイルを作るときには、確認を求めてきました。
完成したアプリの画面は、こちらです。
ACのキーが機能していないようですが、一応計算できました。
AIのAPI KEYを無料で発行する方法
今回Githubを使って、API KEYを無料で使う方法を試しました。
この他に、二つ方法があるようです。
GPT-4oやGPT-4mini以外のモデルでも良い場合は、下記の方法も使えるかもしれません。
OpenRouter.ai
ClineのAPIの設定画面に、OpenRouterの文字があります。
ここで無料のfreeで検索すると、AIを見つけることができました。
GroqのAPIキーを使う方法
Groqは、無料でAPI KEYを利用できます。
有料プランも、あります。
OpenAI互換のAPIキーを発行できるようなので、OpenAIのKEYに置き換えて使えるようです。
Discussion