TL;DR
pipx install llm(推奨)またはpip install llmでインストール- APIキーを
~/.llm/configに設定、またはllm keys setコマンドを使用 llm "量子コンピューティングを説明して"でプロンプトを実行llm-ollamaやllm-claudeなどのプラグインで機能を拡張- 会話履歴をSQLiteに保存し、監査証跡を確保(AIセキュリティ態勢フレームワーク™ COMPLYフェーズ)
- ファイルやコマンドからデータをパイプ処理し、ワークフローを自動化
1. インストール
LLMはmacOS、Linux、およびWindows(WSL経由)で動作します。依存関係の競合を避けるため、pipxの使用を推奨します。
# pipxがインストールされていない場合
python3 -m pip install --user pipx
python3 -m pipx ensurepath
# LLMをインストール
pipx install llm
# 動作確認
llm --version
# 出力: llm, version 0.15.0
注意点:command not foundエラーが発生した場合は、~/.local/binがPATHに含まれているか確認してください。
2. APIキーの設定
LLMはプラグインを通じて50以上のモデルをサポートしています。まず、利用するプロバイダーのAPIキーを設定します。
# OpenAI(GPT-4など)
llm keys set openai
# プロンプトが表示されたらキーを貼り付け
# Anthropic(Claude)
llm keys set anthropic
設定ファイルの場所:~/.llm/config
複数のプロバイダーを使用する場合の設定例:
# ~/.llm/config
models:
- name: gpt4
model_id: gpt-4-turbo
api_key: ${OPENAI_API_KEY}
- name: claude3
model_id: claude-3-opus-20240229
api_key: ${ANTHROPIC_API_KEY}
プロのヒント:APIキーは環境変数を使用することを推奨(AIセキュリティ態勢フレームワーク™ PROTECTフェーズ):
export OPENAI_API_KEY="sk-..."
llm "このドキュメントを要約して" --key env
3. 初めてのプロンプト実行
基本的な使い方:
llm "Kubernetesを3つのポイントで説明して"
期待される出力:
- デプロイメント、スケーリング、管理を自動化するコンテナオーケストレーションプラットフォーム
- 望ましい状態をYAMLで定義する宣言型設定を採用
- コントロールプレーン(APIサーバー、スケジューラー)とワーカーノード(kubelet、kube-proxy)で構成
モデルの選択:
# 利用可能なモデルを一覧表示
llm models
# 特定のモデルを使用
llm "JSONをパースするPython関数を作成して" -m claude3
4. プラグインエコシステム
プラグインをインストールしてモデルのサポートを拡張します。
# Ollama(ローカルモデル)
llm install llm-ollama
llm ollama pull llama3
llm -m ollama-llama3 "5歳児にLLMを説明して"
# Google Gemini
llm install llm-gemini
llm keys set gemini
llm -m gemini-1.5-pro "このデータセットを分析して" < data.csv
人気のプラグイン:
| プラグイン | コマンド | ユースケース |
|---|---|---|
llm-ollama | llm ollama | ローカルモデル(Llama、Mistral) |
llm-claude | llm -m claude3 | Anthropicモデル |
llm-embed | llm embed | エンベディングの生成 |
llm-dump | llm dump | 会話のエクスポート |
5. 会話履歴とテンプレート
LLMはすべてのやり取りをSQLiteに保存します(AIセキュリティ態勢フレームワーク™ COMPLYフェーズ)。
# 会話履歴を一覧表示
llm logs
# 会話を再開
llm continue 123
# プロンプトテンプレートを保存
llm templates add explain "{topic}を簡単に説明して"
llm explain --topic "ブロックチェーン"
データベースの場所:~/.llm/logs.db
直接クエリを実行することも可能:
sqlite3 ~/.llm/logs.db "SELECT prompt, response FROM logs LIMIT 5"
6. データのパイプ処理とシェル統合
ファイルやコマンドからデータをパイプ処理します。
# ファイルを分析
llm "このコードを要約して" < app.py
# 他のツールと連携
curl -s https://api.github.com/repos/simonw/llm | llm "トップ3の機能を抽出して"
# コミットメッセージを生成
git diff | llm "簡潔なコミットメッセージを作成して"
注意点:大容量の入力の場合は、--no-streamを使用してレート制限を回避します。
llm --no-stream "この10MBのログファイルを分析して" < server.log
7. カスタムワークフローの構築
LLMを他のツールと組み合わせて自動化を実現します。
例1:コードレビューボット
#!/bin/bash
git diff | llm -m claude3 "この差分をセキュリティの観点でレビューしてください。出力はMarkdown形式で。"
例2:自動ドキュメント生成
# ドックストリングからドキュメントを生成
llm "このPythonファイルのSphinxドキュメントを作成して" < module.py > docs.rst
例3:AIセキュリティ態勢フレームワーク™ DETECTフェーズ
# ログの異常を監視
tail -f /var/log/nginx/access.log | \
llm "不審なHTTPリクエストを検出してください。出力はCSV形式で、列はtimestamp、ip、reason" \
> security_alerts.csv
次のステップ
- プラグインを探索:
llm-embedをインストールしてドキュメントのエンベディングを生成。 - ワークフローを自動化:
llmとcronを組み合わせて日次ログを分析するスクリプトを作成。 - 利用状況を監査:
~/.llm/logs.dbをクエリして過去のやり取りを確認し、コンプライアンスを遵守(AIセキュリティ態勢フレームワーク™ COMPLYフェーズ)。
エンタープライズグレードのセキュリティとスケーラビリティを備えたLLMの運用を目指すチームには、Hyperion Consultingが組織全体でのソリューション実装を支援する専門的なAIツールコンサルティングを提供しています。
