オフラインサバイバルアシスタント – ローカルLLMとKiwix、USBメモリから実行可能
Offline survival assistant – local LLM and Kiwix, runs from a USB stick (github.com)
要約
このプロジェクトは、インターネット接続なしで機能するサバイバルアシスタントを提供します。ローカルで動作する大規模言語モデル(LLM)とKiwixオフラインライブラリを組み合わせ、実用的なガイドや医療情報などを提供します。Windows、Linux、macOSで動作し、USBメモリに保存して持ち運ぶことも可能です。
全文翻訳
README.en.md
サバイバルAI (IA da Sobrevivência)
インターネットなしで100%動作するサバイバルアシスタント — Windows、Linux、macOSで利用可能。
インターネット、電力、サービスがダウンした場合でも、このキットはラップトップやUSBドライブで動作し続けます。
- 📚 出典付きの実用ガイド(EN、PT、ES):水、火、避難所、食料、園芸と家畜、採集/釣り/狩猟、応急処置と医療、衛生と自家製石鹸、アルコール(発酵、蒸留、消毒剤、燃料)、太陽光発電、無線とナビゲーション、道具と結び方、メンタルヘルスとコミュニティ、および72時間と1年間のチェックリスト。
- 🤖 ローカルAIが自然言語で質問に答え、出典を引用します — 自分のコンピューターで動作します(llama.cppまたはOllama)。インターネットには何も送信されません。
- 🌐 Kiwixオフラインライブラリ:医療用Wikipedia、災害後のマニュアル、医者なしで生きる方法、wikiHow、iFixitなど — AIもこれらを検索します。
- 📱 ブラウザ上のWebインターフェース。ローカルネットワーク上で共有可能(インターネットがなくても、他の電話はWi-Fi経由で接続できます)。
- 🔍 AIなしモード:モデルがなくても、ガイド検索はPython搭載のどのPCでも機能します。
⚠️ 免責事項: 教育コンテンツです。医師、消防士、緊急サービスに代わるものではありません。健康に関するガイダンスは、各セクションで引用されている公開ガイドライン(WHO、赤十字/IFRC、AHA、CDC、Hesperianなど)に従っています。
仕組み
質問 ──► キットガイドを検索 (BM25) ──────┐
└─► Kiwixを検索 (.zimファイル) ──────┼─► ローカル言語モデル ──► [1] [2] の出典で回答
└─► (モデルなし?最も関連性の高い箇所を表示)
| パーツ | 内容 | 場所 |
|---|---|---|
sobrevivencia.py + app/ | AI(Python標準ライブラリのみ、pip install不要) | リポジトリ |
knowledge/pt en es/ | あなたの .md/.txtドキュメント(AIが検索・引用) | リポジトリ |
knowledge/extra/ | あなたの .md/.txtドキュメント(AIが検索・引用) | リポジトリ |
runtime/llama.cpp/ | AIモデルを実行するエンジン | 準備者がダウンロード |
models/*.gguf | 言語モデル(1–5 GB) | 準備者がダウンロード |
runtime/kiwix-tools/ + zim/*.zim | Kiwixサーバーとライブラリ | 準備者がダウンロード |
runtime/python/ | ポータブルPython(PythonがないPC用) | 準備者がダウンロード |
大きなファイルはgitにコミットされません(.gitignoreを参照):リポジトリは小さく保たれ、誰もが準備者でキットを構築します。
クイックスタート
1. リポジトリを取得
git clone https://github.com/sdalberto/ia-da-sobrevivencia.git
cd ia-da-sobrevivencia
2. キットを準備(オンライン、一度だけ)
| システム | 実行方法 |
|---|---|
| Windows | preparar-kit.batをダブルクリック |
| macOS | preparar-kit.commandをダブルクリック(初回:右クリック→開く) |
| Linux | ./preparar-kit.sh --lang en |
準備者は以下を尋ねます:
- AIモデル:
leve(軽量、1 GB、4 GB RAM)、padrao(デフォルト、2 GB、8 GB RAM — 推奨)、forte(強力、4.7 GB、16 GB RAM)。 - Kiwixライブラリ:
minimo(約3–5 GB)、recomendado(約25–40 GB)、またはcompleto(100 GB以上、フルWikipedia)。 - システム: このコンピューターのみ、またはWindows + Linux + macOS(ユニバーサルUSBキット)。
- ポータブルPython: Pythonがインストールされていないコンピューターでもキットが開くようにするため。
非対話式:
python sobrevivencia.py --lang en prepare --model padrao --zims recomendado --os all --python
3. 使用(オフライン)
| システム | 開き方 |
|---|---|
| Windows | iniciar.bat --lang en(またはiniciar.batをダブルクリックしてENを押す) |
| macOS | iniciar.command |
| Linux | ./iniciar.sh --lang en |
ブラウザがhttp://127.0.0.1:8090を開きます。PT/EN/ESボタンでいつでも言語を切り替えられます。英語をデフォルトにするには、config/settings.local.jsonを{ "language": "en" }として作成します。
4. USBメモリにコピー
フォルダ全体をUSBメモリまたは外部ディスク(exFAT形式でフォーマット済み。全3システムで動作し、4 GB超のファイルもサポート)にコピーします。
その他の使用方法
python sobrevivencia.py --lang en chat # ターミナルチャット
python sobrevivencia.py --lang en ask "how do I make oral rehydration solution?"
python sobrevivencia.py --lang en search burn
python sobrevivencia.py status
python sobrevivencia.py start --host 0.0.0.0 # ローカルネットワークで共有
python sobrevivencia.py prepare --search survival # 他のKiwixライブラリを探す
Ollama: Ollamaを使用している場合、ollama pull qwen2.5:3bを実行します — 自動検出されます。ローカルのOpenAI互換サーバー(LM Studio、llamafile、KoboldCpp、Jan)も利用可能です。llm_urlを設定してください。
Kiwix Desktop: Kiwix Desktopはzim/内の.zimファイルを開くことができます。AIにローカルKiwixサーバーを使用させるには、config/settings.local.jsonに{ "kiwix_url": "http://127.0.0.1:<port>" }を設定します。Windows版Kiwix Desktopパッケージ(約150 MB)は、GitHubの1ファイルあたりの100 MB制限を超えています — これをコミットする代わりにリリースアセットとして公開してください。
独自の知識を追加
.mdまたは.txtファイルをknowledge/extra/にドロップします(家族のレシピ、ローカルマップ、連絡先、機器のマニュアル)。これらはAIによってインデックス化され、引用されます。
要件
- 最小(検索のみ): Python 3.8+搭載の任意のPC。
- AI付き: 4 GB RAM(軽量モデル)、8 GB推奨。x86-64 CPU(AVX2対応)またはApple Silicon/ARM64。GPUは不要です。
- ディスク: 3 GB(最小キット)〜100 GB以上(フルキット)。
テスト
python -m unittest discover -s tests
ライセンス
コード: MIT。knowledge/内のガイド: CC BY-SA 4.0。準備者がダウンロードするモデル、Kiwix、llama.cpp、ZIMファイルは、それぞれ独自のライセンスを持っています。デフォルトモデル(Qwen2.5 3B)はQwen Research Licenseを使用しています。商用利用の場合は、leveまたはforte(Apache 2.0)を選択してください。