Interpreter 是 [[Obsidian Web Clipper 簡介|Web Clipper]] 的一項功能,可讓你使用自然語言與網頁互動。Interpreter 能協助你擷取並修改想要儲存至 Obsidian 的資料。例如: - 擷取特定的文字片段。 - 摘要或解釋資訊。 - 將文字從一種格式轉換為另一種格式。 - 將文字翻譯為不同語言。 Interpreter 運用語言模型來處理網頁上的資訊,並透過[[變數]]回傳結果,你可以將這些變數加入到你的 [[Obsidian Web Clipper/模板|Web Clipper 模板]]中。 <div style="padding:62.29% 0 0 0;position:relative;"><div class="interface" style="height:100%;left:0;position:absolute;top:0;width:100%;"><iframe src="https://fast.wistia.net/embed/iframe/8j5qu8twj1?web_component=true&seo=false" title="2026-04-22 Video" allow="autoplay; fullscreen" allowtransparency="true" frameborder="0" scrolling="no" class="wistia_embed" name="wistia_embed" width="100%" height="100%"></iframe></div></div> ## 提示詞範例 提示詞使用[[變數|變數]]語法 `{{"your prompt"}}`。你可以將此語法用於任何自然語言查詢,例如: - `{{"a summary of the page"}}` 擷取頁面摘要。 - `{{"a three bullet point summary, translated to French"}}` 擷取頁面的三個要點,並翻譯成法文。 - `{{"un resumé de la page en trois points"}}` 使用法文提示詞擷取三個要點。 提示詞的輸出結果可以透過[[過濾設定]]進一步處理。過濾設定會在從模型收到提示詞回應後才進行處理。例如:`{{"a summary of the page"|blockquote}}` 會將回應轉換為區塊引用。 ## 開始使用 Interpreter 幾乎適用於任何語言模型提供者,包括可在你的裝置上私密運行的選項。設定 Interpreter 的步驟: 1. 前往 Web Clipper 設定中的 **Interpreter** 區段。 2. 開啟 **Enable Interpreter**。 3. 設定你的提供者與模型,請參閱下方的[[解讀網頁#模型|模型]]區段。 4. 將[[變數|提示詞變數]]新增至你的[[Obsidian Web Clipper/模板|模板]]中。 5. 如果你的模板包含提示詞變數,當你[[擷取網頁|擷取頁面]]時,Interpreter 區段會顯示出來。點選 **interpret** 以處理提示詞變數。 ## 運作方式 當 Interpreter 已啟用*且*你的模板包含[[變數#提示詞變數|提示詞變數]]時,擴充功能視窗中會在 **Add to Obsidian** 按鈕上方顯示新的 Interpreter 區段。此區段可讓你選擇模型並對當前頁面執行 Interpreter。 當你點選 **interpret** 時,Interpreter 會將頁面內容連同模板中的*所有*提示詞一併以單一請求發送至你選擇的模型。根據你選擇的模型提供者,這可以是外部呼叫或在你的裝置本機執行。模型會根據頁面內容評估你的提示詞,並回傳回應結果。接著 Interpreter 會將提示詞變數替換為回應資料。 整個過程可能只需幾毫秒,也可能超過 30 秒,取決於你使用的模型以及處理的資料量。 ## 上下文 *上下文*一詞是指 Interpreter 用來處理提示詞的頁面資料。上下文越小,Interpreter 執行越快。 預設情況下,Interpreter 使用整個頁面的 HTML 作為上下文,但這可能會使提示詞處理變慢且產生不必要的費用。 你可以在 Interpreter 的**進階設定**中覆寫預設上下文,並為每個[[Obsidian Web Clipper/模板|模板]]定義上下文。 若要定義更精確的上下文,請使用[[變數#選擇器變數|選擇器變數]](或其他變數類型)來解讀頁面的特定區段。例如,你可以在模板的 Interpreter 上下文中使用以下選擇器變數: ``` {{selectorHtml:#main}} ``` 這樣只會對網頁中的 `#main` 元素執行 Interpreter(如果該元素存在的話)。[[過濾設定#HTML 處理|HTML 處理過濾設定]]如 `remove_html`、`strip_tags` 和 `strip_attr` 可用於進一步減少上下文長度並加速處理。 ## 模型 > [!warning] 隱私 > 使用第三方模型提供者即表示你同意其條款與隱私政策。Interpreter 的請求會直接發送至你選擇的提供者。Obsidian 不會蒐集或儲存任何關於你請求的資料。 ### 預設提供者 Interpreter 包含數個預設提供者。若要使用這些提供者,你需要一組 API 金鑰,可透過登入提供者的帳戶取得。你還需要決定要使用哪些模型。 | 提供者 | API&nbsp;金鑰 | 模型 | | ------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------ | | Anthropic | [API&nbsp;金鑰](https://console.anthropic.com/settings/keys) | [模型](https://docs.anthropic.com/en/docs/about-claude/models) | | Azure&nbsp;OpenAI | [API&nbsp;金鑰](https://oai.azure.com/portal/) | [模型](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models) | | DeepSeek | [API 金鑰](https://platform.deepseek.com/api_keys) | [模型](https://api-docs.deepseek.com/quick_start/pricing) | | Google&nbsp;Gemini | [API&nbsp;金鑰](https://aistudio.google.com/apikey) | [模型](https://ai.google.dev/gemini-api/docs/models/gemini) | | Hugging Face | [API 金鑰](https://huggingface.co/settings/tokens) | [模型](https://huggingface.co/models?pipeline_tag=text-generation&sort=trending) | | Meta | [API 金鑰](https://llama.developer.meta.com) | [模型](https://llama.developer.meta.com/docs/models) | | Ollama | 無需 | [模型](https://ollama.com/search) | | OpenAI | [API&nbsp;金鑰](https://platform.openai.com/api-keys) | [模型](https://platform.openai.com/docs/models) | | OpenRouter | [API&nbsp;金鑰](https://openrouter.ai/settings/keys) | [模型](https://openrouter.ai/models) | | Perplexity | [API 金鑰](https://www.perplexity.ai/settings/api) | [模型](https://docs.perplexity.ai/guides/model-cards) | | xAI Grok | [API 金鑰](https://console.x.ai/team/default/api-keys) | [模型](https://docs.x.ai/docs/models) | ### 選擇模型 一般來說,我們建議在 Web Clipper 中使用小型模型,因為它們速度較快,且在此任務中表現相當準確。較小型模型的範例包括 **Anthropic 的 Claude Haiku**、**Google Gemini Flash**、具有 3B 或 8B 參數的 **Llama**,或 **OpenAI 的 Mini** 系列模型。 ### 自訂提供者與模型 若要新增自訂提供者和/或模型,請前往 Web Clipper **[[設定]]** → **Interpreter**: - **Add provider** 用於設定預設和自訂提供者。 - **Add model** 用於設定預設和自訂模型。 新增自訂提供者時,我們建議你使用其 chat completions 端點作為 **Base URL**——通常以 `/chat/completions` 結尾。 ### 本機模型 Interpreter 可以使用本機模型,提供更高的隱私性和離線相容性。有多種執行本機模型的選項。其中最容易設定的是 Ollama。 #### Ollama [Ollama](https://ollama.com/) 可讓你在裝置上本機且私密地執行語言模型。 下載並安裝 Ollama 後,在 Interpreter 設定中使用 **Add provider** 新增 Ollama。Ollama 不需要 API 金鑰。然後從[模型列表](https://ollama.com/search)中選擇一個模型。例如,如果你想使用 [Llama 3.2](https://ollama.com/library/llama3.2),請點選 **Add model**,然後: - **Provider:** Ollama - **Display name:** Llama 3.2,此值可自訂。 - **Model ID:** `llama3.2`,必須與 Ollama 的模型 ID 完全一致。 **啟動 Ollama 伺服器** 若要讓瀏覽器擴充功能與 Ollama 互動,你必須在執行伺服器時[給予明確的指示](https://github.com/ollama/ollama/issues/2308),否則會看到 `403` 錯誤。 關閉 Ollama 應用程式,然後在終端機中執行以下命令。如果你使用的不是 Chrome 或 Firefox,請將協定更改為你瀏覽器的擴充功能協定。 ``` OLLAMA_ORIGINS=moz-extension://*,chrome-extension://*,safari-web-extension://* ollama serve ``` 然後以正常方式使用 Ollama 執行你的模型,例如: ``` ollama run llama3.2 ``` **上下文長度** Ollama 的上下文視窗預設為 2048 個 token。這是訊息和回應的最大 token 數量。擷取較長的網頁時,你很容易超過此限制。Ollama 會靜默失敗並回傳不相關的結果。一些解決方案: - 增加 Ollama 的 `num_ctx` 參數。請注意,較長的上下文需要更多記憶體。 - 在模板中使用[[#上下文]]欄位提供更精確的頁面區段,或使用[[過濾設定|過濾設定]]修剪上下文,例如 `{{content|slice:0,1000}}`。