1.0.2 • Published 4 months ago
llmine v1.0.2
llmine
コマンドラインから LLM (ChatGPT など) にアクセスできる CLI ツールです。
OpenAI や Azure OpenAI をプロンプト一発で簡単に呼び出し、その結果を端末上に表示できます。
特徴
- OpenAI および Azure OpenAI に対応
- プロンプトを直接コマンド引数に渡せるほか、パイプ経由での入力にも対応
- API キーや Azure のリソース情報などは対話形式で簡単に設定可能
- Node.js + TypeScript 製のシンプルな構成で拡張もしやすい
インストール
1. リポジトリをクローン (またはソースをダウンロード)
git clone https://github.com/O6lvl4/llmine.git
cd llmine
2. 依存関係をインストール
npm install
3. ビルド & CLI 登録
npm run build
npm link
上記で llmine
コマンドがパスに登録され、どのディレクトリからでも呼び出せるようになります。
もし npm link
がうまく動作しない場合や、不要な場合は npx llmine
形式で利用しても構いません。
使い方
1. APIキーを設定
まずは使用したいプロバイダ (OpenAI or Azure) の API キーやリソース情報を設定します。
以下のコマンドを実行すると、対話形式でキーの入力を求められます。
OpenAI
llmine keys set openai
- OpenAI API Key(例:
sk-xxxxxx...
)を入力してください。
Azure OpenAI
llmine keys set azure
- Azure OpenAI Resource Name(例:
myazureopenai123
) - Azure OpenAI API Key
- Azure OpenAI Deployment Name(例:
gpt-35-test
) - Azure OpenAI API Version(例:
2024-05-01-preview
など)
これらを入力すると、~/.llmine/config.json
に設定が保存されます。
2. キー一覧を確認
設定したキーやリソース情報を確認するには:
llmine keys list
3. モデルの一覧を確認
対応しているプロバイダの場合、利用可能なモデルの一覧を表示できます。
# デフォルトのプロバイダ (または config.json で指定されているプロバイダ) のモデル一覧
llmine models
# 明示的にプロバイダを指定する場合
llmine models --provider openai
llmine models --provider azure
4. 実際にプロンプトを送信してみる
例1: 引数でプロンプトを直接指定
# デフォルトでは OpenAI / Azure など、config.json に設定したデフォルトプロバイダが使われます。
llmine "明日の天気はどうなりそう?"
# モデルや temperature、プロバイダを指定したい場合
llmine "アメリカの歴代大統領を一覧で教えて" \
--model gpt-3.5-turbo \
--temperature 0.5 \
--provider openai
例2: パイプでの入力
# ファイルの内容を読み込ませる場合など
cat sample_prompt.txt | llmine
5. ヘルプ
ヘルプは以下で表示されます。
llmine help
またはコマンドがよくわからなくなった場合は、引数なしで llmine
と打てばヘルプが自動で表示されます。
llmine
開発者向け情報
ディレクトリ構成
├── .gitignore
├── LICENSE
├── package.json
├── package-lock.json
├── src
│ ├── commands
│ │ ├── defaultCommand.ts # デフォルトコマンド("llmine [prompt]")
│ │ ├── helpCommand.ts # "llmine help"
│ │ ├── keysCommand.ts # "llmine keys ..."
│ │ └── modelsCommand.ts # "llmine models"
│ ├── index.ts # CLI エントリーポイント
│ └── utils
│ ├── aiClient.ts # AI クライアント生成ロジック
│ ├── banner.ts # バナー表示用
│ ├── config.ts # 設定ファイル管理
│ └── openai.ts # (直接 OpenAI SDK を使いたい場合のサンプル)
└── ...
スクリプト一覧
npm run build
TypeScript コンパイルを実行します (出力先:dist
ディレクトリ)。npm run dev
ts-node
でsrc/index.ts
を直接実行し、開発モードで CLI を試せます。npm run format
Prettier によるコード整形を行います。npm link
グローバルにllmine
コマンドを登録します。
設定ファイル
~/.llmine/config.json
に、以下のような内容が保存されます。
{
"defaultProvider": "openai",
"openaiApiKey": "sk-xxxxxx...",
"azureOpenAIResourceName": "myazureopenai123",
"azureOpenAIKey": "xxxxxxxx...",
"azureOpenAIVersion": "2024-05-01-preview",
"azureDeploymentModelId": "my-test-deploy"
}
一部パラメータの名称はソース側と対応しているため、直接編集も可能です。
ライセンス
本ソフトウェアは MIT License のもとで公開されています。ライセンス条文をよくお読みの上、ご利用ください。