
[!WARNING] このプロジェクトは完全に雰囲気でコーディングされています (おそらく一部このリポジトリから盗用されています) そして著者はただそのアイデアが面白いと思っただけの_バカ_です
レシピのSEO対策用の前置きを秘密メッセージをエンコードする手段として利用します(プロンプトは実際には何でも構いません。共有プロンプトは、エンコーダとデコーダが同意する単なるキーです)。
ニューラル言語ステガノグラフィーを使用して、自然に見えるテキストに秘密メッセージを隠します。
両側でまったく同じモデル、量子化、top-kの値、プロンプトを使用する必要があります。違いがあるとデコードは失敗します。
--device cpu --no-4bit で利用可能ですが、大幅に遅くなります。# Create and activate a virtual environment, and install required packages
python -m venv env
source env/bin/activate
pip install -r requirements.txt
# or, using `uv`
uv sync
uv pip install -r requirements.txt
[!NOTE]
HF_TOKEN環境変数を設定してHuggingFaceに認証します。
python main.py encode --message "attack at dawn"
これはデフォルトのレシピ前置きプロンプトとLlama-3.2-3Bを使用します。ステゴテキストは標準出力に表示され、stego_output.txtに保存されます。
python main.py decode --stego-file stego_output.txt
# カスタムプロンプトでエンコード
python main.py encode \
--message "meet me at noon" \
--prompt "The best thing about making scrambled eggs is: "
# デコード(プロンプトは完全に一致する必要があります)
python main.py decode \
--stego-file stego_output.txt \
--prompt "The best thing about making scrambled eggs is: "
# 別のモデルを使用
python main.py encode \
--model "mistralai/Mistral-7B-v0.3" \
--message "secret message" \
--prompt "Every Sunday morning my grandmother would"
| フラグ | デフォルト | 説明 |
|---|
--model | meta-llama/Llama-3.2-3B | HuggingFaceモデル名/パス |
--prompt | (レシピのSEO前置き) | コンテキストプロンプト(エンコードとデコードで一致する必要があります) |
--message | (インタラクティブ) | エンコードする秘密メッセージ |
--stego-text | デコードするステゴテキスト文字列 | |
--stego-file | stego_output.txt | ステゴテキストファイル(エンコード時は出力、デコード時は入力) |
--top-k | 256 | CDFのためのTop-k語彙サイズ |
--max-tokens | (無制限) | 生成する最大トークン数 |
--device | cuda | デバイス:cuda または cpu |
--no-4bit | off | 4ビット量子化を無効にする(fp16を使用、より多くのVRAMが必要) |