# ANE Embedding 設定變更 — 請同步

**變更時間**：2026-05-07  
**影響版本**：需要更新 code + 設定

---

## 1. 程式碼變更

**檔案**：`src/core/embedding/comic_embed.rs`

`Embedder::new()` 現在會讀取 `MOMENTRY_EMBED_URL` 環境變數決定 embedding server 位址：

```rust
// 預設 Ollama: http://localhost:11434
// 設定後切換到 ANE: http://localhost:11435
fn default_url() -> String {
    std::env::var("MOMENTRY_EMBED_URL")
        .unwrap_or_else(|_| "http://localhost:11434".to_string())
}
```

## 2. 新增檔案

`scripts/coreml_embed_server.py` — CoreML ANE embedding HTTP server

## 3. 環境變數

`.env.development` 新增一行：

```
MOMENTRY_EMBED_URL=http://localhost:11435
```

## 同步步驟

```bash
# 1. git pull (如有版控) 或 rsync 更新 code

# 2. 在自己的機器上啟動 ANE embedding server
python3 scripts/coreml_embed_server.py --port 11435 &

# 3. 確認 `.env.development` 有設定
grep MOMENTRY_EMBED_URL .env.development

# 4. 重啟 momentry_playground
# 如果之前已轉換好 .mlpackage，ANE server 會自動載入
```

## 轉換 CoreML 模型

如果還沒轉換，執行 `convert_embed_to_coreml.py`（參見 `ane_embedding_install_guide.md`）。
已轉好的模型也可從 M5 rsync：

```bash
rsync -av accusys@192.168.110.201:/Users/accusys/models/mxbai-embed-large-v1.mlpackage /Users/accusys/momentry/
```

## 退回 Ollama

要臨時切回 Ollama，註解掉 `.env.development` 的 `MOMENTRY_EMBED_URL` 即可，不需改 code。
