English readme translated by this program.
chatgptのapiを使ってテキストファイルをまとめて一括で処理させるプログラム。
翻訳や、ソースコードにコメントを付けさせたりと、使い方次第で色々できる。
go install github.com/xcd0/easygpt@latest
OpenAIのAPIキーを環境変数OPENAI_API_KEY
に設定する。
下記のAPIキーは例の為の無効なAPIキーなので、自分で有効なAPIキーを発行して、設定すること。
APIキーは https://platform.openai.com/account/api-keys から発行できる。
発行したAPIキーを.bashrc
などに設定する。
$ export OPENAI_API_KEY=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
$ echo export OPENAI_API_KEY=$OPENAI_API_KEY >> .bashrc
APIキーを環境変数で指定していれば、コマンドラインから直接実行できる。
$ easygpt -i "Say this is test."
this is test.
$ easygpt -i 自己紹介してください。
こんにちは、私はAIです。私はOpenAIが開発した自然言語処理モデルです。私の目的は、ユーザーが質問や要求をすると、最善の回答や応答を提供することです。私は様々なトピックについての情報を持っており、文法やスタイルの修正も行うことができます。どのようにお手伝いできますか?
与えたファイルとフォルダに含まれるファイル全てを一括でAIに与えて処理させる。
ファイルやフォルダを選択して実行ファイルにD&Dすることで、含まれるファイルをテキストとしてAIに処理させることができる。
_easygpt_output
を付与した名前で出力される。 AIに指定のディレクトリにある複数のテキストファイルを一括で処理させる。
これがメインの使い方。
この使い方は、すべて設定ファイルで動作を指定する。
使用例2よりも細かい制御ができる。
設定ファイルの雛形を生成し、それを編集して設定ファイルを作成する。
key | 必須か | 説明 |
---|---|---|
input-dir | 必須 | 入力ディレクトリ。 AIに与えたいファイル群を格納するディレクトリ。 |
output-dir | 必須 | 出力先ディレクトリ。 入力ディレクトリと同じディレクトリ構成になるようにディレクトリが作成される。 |
apikey | 任意 | APIキーの指定。環境変数に指定していれば不要。 設定ファイルで指定されていれば環境変数での指定を無視する。 |
prompt | 任意 | ここで指定した文字列を、全ての入力ファイルの先頭に付与する。 AIに対する支持などを記載する。 |
extension | 任意 | 入力ディレクトリにおいて指定の拡張子で入力ファイルを制限する。 この指定が空の時、*を指定した時、無指定の時、拡張子によって制限しない。 |
concurrency | 任意 | 平行して実行する数。APIのレート制限に注意。 |
temperature | 任意 | AIの変数temperature を指定できる。 |
move | 任意 | 正常に処理ができたファイルを指定したディレクトリに移動させる。 エラーやCtrl-Cなどで中断した際に、途中から再度実行しやすくなる。 |
tmp-dir | 任意 | 基本的に指定する必要はない。一時ファイルを保持するディレクトリ。 |
postfix | 任意 | 基本的に指定する必要はない。出力ファイル名の末尾に文字列を付与したいとき指定する。 |
ai-model | 任意 | 基本的に指定する必要はない。使用したいAIのモデルを指定できる。 |
openai-url | 任意 | 基本的に指定する必要はない。APIのURLを指定できる。 |
設定できる項目が多い為、設定ファイルの雛形を生成し、それを編集することを推奨。
以下のコマンドで、カレントディレクトリに eagygpt.hjson
が生成できる。
$ easygpt --create-setting
easygpt -c
でも良い。
OPENAI_API_KEY
に設定していれば不要。prompt
の部分に、入力テキストファイルの前に与えたい文字列を記載する。prompt: 以下を和訳してください。
のように書く。\n
で改行するか、以下のヒアドキュメント形式で記載する。
prompt:
'''
このような書式で、
複数行書くことができる。
'''
詳しくはhjsonのドキュメントのMulutiline Setting
を参照。
他の引数については、生成された設定ファイルのコメントを読み、必要に合わせて記述する。
基本的には、input-dir
とoutput-dir
が指定されていればよい。
基本的にはカレントディレクトリに、easygpt.hjsonを配置すればよい。
以下の仕様に従って設定ファイルが探索される。
設定ファイルの名前の既定値は、
--setting
で設定できる。 設定の既定の位置は、
コマンドライン引数が設定されていた場合、設定ファイルの値をコマンドライン引数の値で上書きする。
既定のパスにある設定ファイルに、設定されている値については、引数を省略できる。
設定できる引数が多い為、基本的に設定ファイルを使用する事をお勧めする。
引数には --key value
形式のフラグ引数と、そうでない非フラグ引数がある。
--create-setting
があれば、他の引数を無視して、設定ファイルの雛形を生成した後終了する。引数は順不同。
引数の詳細については ./easygpt --help
で出力されるヘルプテキストを参照。
各OSSライブラリのライセンスは ./lisenses
にコピーを保持している。
MIT License