HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

オフラインサバイバルアシスタント – ローカルLLMとKiwix、USBメモリから実行可能

Offline survival assistant – local LLM and Kiwix, runs from a USB stick (github.com)

10 pointsby soloyo3 コメント

要約

このプロジェクトは、インターネット接続なしで機能するサバイバルアシスタントを提供します。ローカルで動作する大規模言語モデル(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/*.zimKiwixサーバーとライブラリ準備者がダウンロード
runtime/python/ポータブルPython(PythonがないPC用)準備者がダウンロード

大きなファイルはgitにコミットされません(.gitignoreを参照):リポジトリは小さく保たれ、誰もが準備者でキットを構築します。


クイックスタート

1. リポジトリを取得
git clone https://github.com/sdalberto/ia-da-sobrevivencia.git
cd ia-da-sobrevivencia
2. キットを準備(オンライン、一度だけ)
システム実行方法
Windowspreparar-kit.batをダブルクリック
macOSpreparar-kit.commandをダブルクリック(初回:右クリック→開く)
Linux./preparar-kit.sh --lang en

準備者は以下を尋ねます:

  1. AIモデル: leve(軽量、1 GB、4 GB RAM)、padrao(デフォルト、2 GB、8 GB RAM — 推奨)、forte(強力、4.7 GB、16 GB RAM)。
  2. Kiwixライブラリ: minimo(約3–5 GB)、recomendado(約25–40 GB)、またはcompleto(100 GB以上、フルWikipedia)。
  3. システム: このコンピューターのみ、またはWindows + Linux + macOS(ユニバーサルUSBキット)。
  4. ポータブルPython: Pythonがインストールされていないコンピューターでもキットが開くようにするため。

非対話式:

python sobrevivencia.py --lang en prepare --model padrao --zims recomendado --os all --python
3. 使用(オフライン)
システム開き方
Windowsiniciar.bat --lang en(またはiniciar.batをダブルクリックしてENを押す)
macOSiniciar.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)を選択してください。