【aichat】ChatGPTをMacのターミナルから扱うというロマン

チャットがテーマの画像 テクノロジー

今回は、MacのターミナルでChatGPTを扱うことができる「aichat」を使っていく。

正直別にいつものようにブラウザから使えば全然いいんだけど、文頭に「ターミナルで」という言葉がつくと何故かロマンを感じてしまう。

あの黒い画面でAIを扱えるということにワクワクしてしまうのだ。

Homebrewを使ってaichatをインストールする

aichatはHomebrewを使うことでインストールができるので、ターミナルで以下のコマンドを入力する。

brew install aichat

試しにaichat --versionと打ち込み、バージョンが表示させてみる。

バージョン情報が表示されているターミナル画面

表示されたので、正常にインストールされてるっぽい。

起動と初期設定

aichatは、最初に起動すると自動的に初期設定を開始してくれる。

その際にopenAIのAPI Keyの入力が必要になるので、APIを取得してない場合は以下から取得する必要がある。

Just a moment...

とりあえずなんか話しかけてみる

設定が完了したので、とりあえず「こんにちは。ターミナルとかコマンドプロンプトってなんかロマンあっていいですよね。」とでも言ってみる。

通常の会話は、ターミナルで「aichat」と打ちパッケージを起動すると自動で始まる。

aichatの返信画像
❯ aichat
Welcome to aichat 0.12.0
Type ".help" for more information.
> こんにちは。ターミナルとかコマンドプロンプトってなんかロマンあっていいですよね。
傍目から見ると、ターミナルやコマンドプロンプトが表示する黒い画面に流れる白いテキストは、ある種のロマンや神秘性を感じさせますよね。

一点一点指示を出して、コンピューターがその通りに動くという感覚は、まるで魔法使いや映画のようなハッカーのようです。また、GUI(グラフィカルユーザインターフェース)に比べてコマンドラインインターフェースは表 面的に見えないコンピュータの深層部分に触れている感じがして、本質的な部分を理解し制御しているようで面白いです。

さらに、それぞれのコマンドの背後にあるストーリーや設計哲学、UnixやLinuxの歴史などを知ると、それらに対する感じ方もグッと深まります。プログラミングやコンピューターサイエンスへの理解も深まります。

また、一度覚えてしまえば自動化したり、一連の操作をスクリプト化したりして、作業効率を大幅に上げることができます。

もちろん、コマンド一つで大事なファイルを消してしまったり、システムを壊してしまう危険もありますので、コマンドを使う際の注意も必要ですが。

すんごいノリノリで返事してくれた。

aichatの使用方法

aichatを起動し、会話モードの状態で「.help」と入力するとヘルプが表示される。ヘルプは英語なので、一応日本語で各コマンドと内容をまとめておく。

コマンド内容
.helpヘルプメッセージを表示する
.infoシステム情報を表示する
.modelLLMモデル(GPT3.5、GPT4など)を切り替える
.roleロールを使用する
.info roleロールの情報を表示する
.exit現在のロールから離脱する
.sessionコンテキスト対応チャットセッションの開始(前の文脈を記憶した会話)
.info sessionセッションの情報を表示する
.exit session現在のセッションを終了する
.fileメッセージにファイルを添付し送信する
.set設定パラメータを変更する
.copy最後の返信をクリップボードにコピーする
.exitaichatを終了する

ファイル送信にも対応してた

面白いなーと思ったのが、しっかりとファイルの送信にも対応しているっぽいところだ。ちょっと試してみよう。

以下のコードが書かれたファイルを作成し、読み込ませてみる。

function checkOddOrEven(num) {
  if(num % 2 === 0) {
    console.log("偶数だよ");
  }else{
    console.log("奇数だよ");
  }
}

.fileを使った命令は、以下のようにすればいいらしい。

.file /Users/ユーザー/fizzbuzz.js -- このファイルはどんなファイルですか?

結果はいかに・・・。

aichatの返信画像2
> .file /Users/ユーザー/fizzbuzz.js -- このファイルはどんなファイルですか?
このファイルはjavascriptのソースコードの一部です。関数 `checkoddoreven` が定義されており、引数として渡された数値が偶数か奇数かを判断し、結果をコンソールに出力します。

偶数の場合は "偶数だよ" と出力し、奇数の場合は "奇数だよ" と出力します。この判定は、数値を 2 で割った余りが 0 かどうか(つまり、2の倍数かどうか)で行っています。

おぉ・・・。(感動)


aichatエラー画像

ちなみに、画像を送信すると応答の際にエラーが発生した。
invalid content type. image_url is only supported by certain models.(image_urlは特定のモデルでのみサポートされています。)とのこと。
modelの最高が現在gpt-4なので、今はまだ画像自体サポートしてないのかな・・・?

うまく使えば作業の効率化できるかも

画面2分割でaichatを使用しているgif

いざ使ってみると、思った以上に便利でびっくりした。

.roleを設定して使用することで設定されているプロンプトをいつでも使うことができるため、これも使いこなせば作業がかなり捗るようになるかもしれない。

何よりロマンがある。やっぱりターミナルっていいな。

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