何かと便利なXServerで話題のChatGPTを動かすために色々四苦八苦したので、手順をまとめる。
XServer × ChatGPT(OpenAI)の問題点
root権限が無いため、標準でインストールされているPythonに追加でモジュールがインストールできない。
方針
miniconda + pipを使う
minicondaってなに?
Minicondaとは、パッケージ管理システムと環境マネジメントシステムを担う conda と Python 基本パッケージを内包するディストリビューションです。 conda を用いて仮想環境を作成すれば、同じPC内で異なるバージョンのPython実行環境を用意することができます。
Google検索から抜粋
minicondaを使えばXServer上に様々なPython環境を構築できるようになります。
今回はminicondaを使ってXServer上にpython3.9環境を構築して、そのpython3.9にpip経由でOpenAIをインストールしていきます。
実際の手順
操作はXServerにssh接続してターミナル上で実行します。
minicondaのインストール
まずはインストールファイルをダウンロード&実行
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
途中で入力を求められたりしますが、すべてyesを入力。
インストールが終了すると.bashrcにいろいろ記述されているので、sourceを実行して有効化。
source .bashrc
conda –versionと実行すると現在のcondaのバージョンが表示されます。
conda --version
コマンドプロンプトの左に「(base)」と表示されていればOKです
本環境では標準でPython3.10がインストールされていました。
(base) [xsXXXXXX@svXXXXXX ~]$ python --version
Python 3.10.9
Python3.9の環境構築
3.10のバージョンのままでもいいのですが、ローカルの開発環境がpython3.9なのでcondaコマンドを実行して3.9環境を構築します。
ここではp39という名前でpython3.9環境を構築しました。
conda create --name py39 python=3.9
次に、今構築したpython3.9環境をactiveにします。
コマンドプロンプトの左に「(py39)」と表示されたらOK。
こんな感じ↓
(base) [xsXXXXX@svXXXXX ~]$ conda activate py39
(py39) [xsXXXXX@svXXXXX ~]$
これで自由にモジュールを追加できるpython3.9環境ができあがりました。
あとは公式ドキュメントにもあるようにpipからopen aiをインストールします。
open aiのインストール
pip install openai
これでopen aiのライブラリもインストールできました。
サンプルプログラムなどはこの状態で動くはずです。
PHPからopen AIを実行
2023年4月時点でopen aiのAPIはpythonのものしかありません。
今回laravelフレームワークで構築したウェブアプリケーションからChatGPTを扱いたいので、condaで構築したpython環境とPHPから実行するPythonコマンドの実行ファイルを合わせる必要があります。
筆者の環境では、
/home/xsXXXXXX/miniconda3/envs/py39/bin/python
にpython3.9環境が構築されたので、phpで実行するなら以下のような記述になります。(pythonプログラムはhoge.pyとしています。)
<?php
$output = null;
exec('/home/xsXXXXXX/miniconda3/envs/py39/bin/python hoge.py', $output);
var_dump($output);
最近のコメント