Skip to content

hamakyo/mogi-system

Repository files navigation

MOGI System

複数のLLMに順番に議論させ、最後に結論を生成するシンプルなCLIです。

セットアップ

python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
cp .env.example .env

前提 Python は 3.11.x です。

.env に使いたいプロバイダのAPIキーを設定してください。未設定のプロバイダはスキップされ、設定済みのプロバイダだけで実行されます。

使い方

対話入力:

python mogisystem.py

引数指定:

python mogisystem.py "生成AIの教育利用" --rounds 2 --sleep-seconds 0

quiet 実行:

python mogisystem.py "生成AIの教育利用" --quiet

--quiet は text 出力時に ASCII アートとラウンド進捗を抑止し、最終結果だけを表示します。

provider 指定:

python mogisystem.py "生成AIの教育利用" --providers gpt,claude --rounds 2 --timeout-seconds 30 --retry-count 1

--providers を付けた場合は、指定した provider が利用できないとエラーで終了します。 --timeout-seconds で各 provider 呼び出しの上限時間を指定できます。0 以下なら無効化します。 --retry-count で timeout や一時的な API エラー時の再試行回数を指定できます。

JSON 出力:

python mogisystem.py "生成AIの教育利用" --providers gpt,claude --rounds 2 --sleep-seconds 0 --output json

Markdown 出力:

python mogisystem.py "生成AIの教育利用" --providers gpt,claude --rounds 2 --output markdown

--output json--output markdown を使う場合は topic を引数で渡してください。

ファイル保存:

python mogisystem.py "生成AIの教育利用" --output markdown --output-file outputs/result.md

--output-file を使うと、標準出力と同じ内容を指定ファイルにも保存します。親ディレクトリがなければ自動で作成します。

ヘルプ:

python mogisystem.py --help

テスト

python -m unittest discover -s tests -v

静的解析

ruff check .
mypy

セキュリティ

このリポジトリでは .env を Git 管理しない前提です。既に .env が追跡対象になっている場合は、履歴や共有先にAPIキーが残っていないか確認し、必要ならキーをローテーションしてください。

About

複数のLLMに順番に議論させ、結論を生成するCLI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages