Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

AI 內容農場逆向工程

把「網軍如何用 AI 大量製造假文章」的後台流程攤開給使用者看:
資料前處理 → 詞彙煽動化替換 → LLM 生成 → 多平台格式轉換 → 假互動模擬 → 擴散路徑模擬

⚠️ 本專案僅供媒體識讀教育使用,目的是讓民眾認識假訊息的產製手法,請勿將生成內容用於實際傳播。


目錄


專案功能

輸入一件中立事件(例如「某地發生停電」),調整兩個拉桿,系統會把整個假新聞製造流程完整展示:

步驟 說明
01 控制面板 輸入中立事件、設定煽動對立程度、恐懼感、目標受眾
02 後台管線 即時展示前處理、詞彙煽動化替換過程
03 最終產出 LLM 生成的假新聞全文(帶浮水印,無法複製)
04 多平台格式轉換 同一則謊言,改寫為 LINE / PTT / Threads / YouTube 格式
05 假留言模擬 模擬機器人帳號洗版留言,並標示可疑機器人特徵
06 擴散路徑模擬 以病毒係數計算假訊息 24-72 小時的觸及人數曲線

需要安裝的東西

必要

軟體 版本 下載連結
Python 3.10 以上 https://www.python.org/downloads/
Git 任意版本 https://git-scm.com/downloads

安裝完後,在終端機確認:

python --version   # 應顯示 Python 3.10.x 以上
git --version

LLM(擇一,至少需要一個)

方式 費用 說明
Ollama(推薦新手) 免費、不需金鑰 在本機執行 AI 模型
Google Gemini 免費額度充裕 需要 Gemini API 金鑰
Anthropic Claude 需付費 需要 Anthropic API 金鑰
OpenAI GPT 需付費 需要 OpenAI API 金鑰

四擇一即可,系統會自動偵測哪個可用。

安裝 Ollama(免費、本機執行,新手推薦)

  1. 前往 https://ollama.com/ 下載並安裝

  2. 安裝後,開啟終端機下載模型(以下擇一):

    ollama pull qwen2.5:3b      # 輕量,約 1.9GB,推薦低配電腦
    ollama pull llama3.2        # 中量,約 2.0GB,預設選項
    ollama pull gemma3:4b       # 中量,約 3.3GB,中文效果佳
  3. 確認 Ollama 正常運行:

    ollama list   # 應列出你下載的模型

快速開始

1. 下載專案

git clone https://github.com/rogerbb123/AI-content-farm.git
cd AI-content-farm

或者手動下載:點擊 GitHub 頁面右上角的 Code → Download ZIP,解壓縮後進入資料夾。

2. 建立 Python 虛擬環境並安裝套件

cd backend
python -m venv venv

啟動虛擬環境:

# Windows
venv\Scripts\activate

# macOS / Linux
source venv/bin/activate

安裝依賴套件:

pip install -r requirements.txt

3. 設定環境變數

複製範本檔:

# Windows
copy .env.example .env

# macOS / Linux
cp .env.example .env

用記事本或任何文字編輯器開啟 backend/.env,依照你選擇的 LLM 填寫(詳見下方 LLM 設定說明)。

4. 啟動後端

確認虛擬環境已啟動(命令列前面會顯示 (venv)),然後執行:

uvicorn main:app --reload

出現以下訊息代表成功:

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

5. 開啟前端

方法一(最簡單):直接用瀏覽器開啟 web/index.html 檔案。

方法二(避免 CORS 問題,建議使用):另開一個新的終端機視窗,切換到 web 資料夾後執行簡易伺服器:

cd web
python -m http.server 5500

然後用瀏覽器造訪 http://localhost:5500。


LLM 設定說明

開啟 backend/.env,只需設定其中一種,系統優先順序為:Ollama > Gemini > Anthropic > OpenAI。

方式一:使用 Ollama(免費本機執行)

USE_OLLAMA=true
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=qwen2.5:3b

OLLAMA_MODEL 填入你已經用 ollama pull 下載的模型名稱。

方式二:使用 Google Gemini

USE_OLLAMA=false
GEMINI_API_KEY=你的金鑰貼在這裡

取得金鑰:前往 https://aistudio.google.com/apikey

方式三:使用 Anthropic Claude

USE_OLLAMA=false
ANTHROPIC_API_KEY=sk-ant-api03-xxxxxxxx

取得金鑰:前往 https://console.anthropic.com/

方式四:使用 OpenAI GPT

USE_OLLAMA=false
OPENAI_API_KEY=sk-xxxxxxxx

取得金鑰:前往 https://platform.openai.com/api-keys


使用方法

  1. 確認後端已啟動(uvicorn main:app --reload 正在運行)
  2. 瀏覽器開啟前端頁面(http://localhost:5500 或直接開啟 web/index.html)
  3. 在 控制面板(01) 輸入一件中立事件,例如:
    • 台北某區停電
    • 颱風造成農業損失
    • 物價上漲
  4. 調整 煽動對立程度 與 恐懼感 拉桿(0–100)
  5. 選擇 目標受眾(年輕人 / 中老年 / 家庭主婦 / 政治圈)
  6. 點擊 啟動生成引擎
  7. 觀察右側 後台管線(02) 即時展示每個步驟的處理過程
  8. 往下捲動查看:
    • 最終假新聞全文(03)
    • 各平台格式改寫版本(04,切換 LINE / PTT / Threads / YouTube 標籤)
    • 假留言與機器人分析(05)
    • 擴散曲線圖(06)

專案結構

.
├── backend/                # FastAPI 後端
│   ├── main.py             # 主程式(五個 API 端點)
│   ├── requirements.txt    # Python 套件清單
│   ├── .env.example        # 環境變數範本
│   └── .env                # 你的實際設定(不會上傳到 GitHub)
└── web/                    # 純 HTML/CSS/JS 前端
    ├── index.html
    ├── script.js
    ├── style.css
    └── assets/
        └── hacker.jpg

API 端點

方法 路徑 說明
POST /api/generate-fake-news 主流程:前處理 → 詞彙替換 → LLM 生成
POST /api/multi-platform 將文章改寫為多平台格式
POST /api/fake-engagement 生成假留言與互動數據
POST /api/spread-simulation 模擬假訊息擴散路徑
GET / 健康檢查

關於金鑰安全

  • 所有 API 金鑰只存在本機的 backend/.env,此檔案已被 .gitignore 排除,永遠不會被上傳到 GitHub。
  • 請勿把金鑰寫死在程式碼裡,也不要把 .env 貼到 Issue、聊天或截圖中分享。
  • 若不小心洩漏過金鑰,請立即到對應平台刪除並重新產生。
  • backend/.env.example 只是空白範本,裡面沒有真實金鑰,可以安心上傳。

授權

僅供教育與媒體識讀宣導用途,請勿將生成的假新聞內容用於實際傳播。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages