インタープリターは、自然言語を使ってウェブページを操作できる [Webクリッパー](https://help.obsidian.md/web-clipper) 機能です。インタープリターは、Obsidianに保存したいデータをキャプチャし、変更するのに役立ちます。例えば:
- 特定のテキスト断片を抽出します。
- 情報を要約または説明します。
- テキストをある形式から別の形式に変換します。
- テキストを別の言語に翻訳します。
<video controls="" src="https://publish-01.obsidian.md/access/f786db9fac45774fa4f0d8112e232d67/Attachments/video/web-clipper-interpreter-demo.mp4#t=0.001"></video>
## プロンプトの例
プロンプトは [変数](https://help.obsidian.md/web-clipper/variables) 構文を使用します `- ポイント1
- ポイント2
- ポイント3` 。この構文は、任意の自然言語クエリで使用できます。例:
- `- Key point 1
- Key point 2
- Key point 3
- Key point 4` ページの要約を抽出します。
- `- Point clé 1
- Point clé 2
- Point clé 3` ページに関する箇条書きを抽出し、フランス語に翻訳します。
- `- Point 1
- Point 2
- Point 3` フランス語のプロンプトを使用して 3 つの箇条書きを抽出します。
プロンプトの出力は、 [フィルター](https://help.obsidian.md/web-clipper/filters) を使ってさらに操作できます。フィルターは、モデルからプロンプトの応答を受け取った後に処理されます。例えば、次のように記述すると、 `> - Key point 1
> - Key point 2
> - Key point 3
> - Key point 4` 応答が引用ブロックに変換されます。
## 始めましょう
Interpreterは、デバイス上でプライベートに実行されるオプションも含め、ほぼすべての言語モデルプロバイダーと連携します。Interpreterを設定するには:
## 仕組み
インタープリターが有効で *、* テンプレートに [プロンプト変数が含まれている場合、拡張機能ウィンドウ](https://help.obsidian.md/web-clipper/variables#Prompt%20variables) **の「Obsidianに追加」** ボタンの上に新しいインタープリターセクションが表示されます 。このセクションでは、モデルを選択し、現在のページに対してインタープリターを実行できます。
**「interpreter」** をクリックすると 、インタープリターはページコンテキストとテンプレート内の *すべての* プロンプトを1つのリクエストで選択したモデルに送信します。選択したモデルプロバイダーに応じて、外部呼び出しまたはデバイスローカルで実行されます。モデルはページコンテキストに対してプロンプトを評価し、レスポンスを返します。その後、インタープリターはプロンプト変数をレスポンスデータに置き換えます。
使用するモデルと処理するデータの量に応じて、プロセス全体に数ミリ秒から 30 秒以上かかる場合があります。
## コンテクスト
コンテキスト *とは* 、インタープリターがプロンプトを処理するために使用するページデータを指します。コンテキストが小さいほど、インタープリターの実行速度は速くなります。
デフォルトでは、インタープリターはページの HTML 全体をコンテキストとして使用しますが、これによりプロンプトが遅くなり、必要以上にコストがかかる可能性があります。
**インタープリターの詳細設定** でデフォルトのコンテキストを上書きし、 [テンプレート](https://help.obsidian.md/web-clipper/templates) ごとにコンテキストを定義できます 。
よりターゲットを絞ったコンテキストを定義するには、 [セレクター変数](https://help.obsidian.md/web-clipper/variables#Selector%20variables) (またはその他の変数タイプ)を使用してページの一部を解釈します。例えば、テンプレートのインタープリターコンテキストで次のセレクター変数を使用できます。
```
{{selectorHtml:#main}}
```
`#main` これは、Web ページの要素が存在する場合に のみ、インタープリターを実行します。 、 などの [HTML 処理フィルターは](https://help.obsidian.md/web-clipper/filters#HTML%20processing) `remove_html` 、 コンテキストの長さをさらに短縮し、処理を高速化するのに役立ちます。 `strip_tags` `strip_attr`
## モデル
プライバシー
サードパーティのモデルプロバイダーをご利用いただくことで、その利用規約とプライバシーポリシーに同意いただいたものとみなされます。通訳リクエストは、選択したプロバイダーに直接送信されます。Obsidianは、お客様のリクエストに関するデータを収集または保存することはありません。
### プリセットプロバイダー
Interpreterには複数のプリセットプロバイダーが含まれています。これらのプロバイダーを使用するには、プロバイダーのアカウントにログインして取得できるAPIキーが必要です。また、使用するモデルを決定する必要があります。
| プロバイダー | APIキー | モデル |
| --- | --- | --- |
| 人類学的 | [APIキー](https://console.anthropic.com/settings/keys) | [モデル](https://docs.anthropic.com/en/docs/about-claude/models) |
| Azure OpenAI | [APIキー](https://oai.azure.com/portal/) | [モデル](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models) |
| ディープシーク | [APIキー](https://platform.deepseek.com/api_keys) | [モデル](https://api-docs.deepseek.com/quick_start/pricing) |
| Google ジェミニ | [APIキー](https://aistudio.google.com/apikey) | [モデル](https://ai.google.dev/gemini-api/docs/models/gemini) |
| 抱きしめる顔 | [APIキー](https://huggingface.co/settings/tokens) | [モデル](https://huggingface.co/models?pipeline_tag=text-generation&sort=trending) |
| メタ | [APIキー](https://llama.developer.meta.com/) | [モデル](https://llama.developer.meta.com/docs/models) |
| オラマ | 該当なし | [モデル](https://ollama.com/search) |
| オープンAI | [APIキー](https://platform.openai.com/api-keys) | [モデル](https://platform.openai.com/docs/models) |
| オープンルーター | [APIキー](https://openrouter.ai/settings/keys) | [モデル](https://openrouter.ai/models) |
| 困惑 | [APIキー](https://www.perplexity.ai/settings/api) | [モデル](https://docs.perplexity.ai/guides/model-cards) |
| xAIグロク | [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 クリッパー **設定** → **インタープリター** に移動します。
- **プロバイダーを追加して** 、プリセット プロバイダーとカスタム プロバイダーを構成します。
- **モデルを追加して** 、プリセット モデルとカスタム モデルを構成します。
カスタム プロバイダーを追加する場合は、 **ベース URL** にそのプロバイダーのチャット補完エンドポイントを使用することをお勧めします。これは通常、 で終わります `/chat/completions` 。
### ローカルモデル
Interpreterは、プライバシーとオフライン互換性に優れたローカルモデルを使用できます。ローカルモデルの実行にはいくつかのオプションがあります。最も簡単に設定できるオプションの一つがOllamaです。
#### オラマ
[Ollama を](https://ollama.com/) 使用すると、デバイス上で言語モデルをローカルかつプライベートに実行できます。
- **プロバイダー:** Ollama
- **表示名:** Llama 3.2、この値はカスタマイズ可能です。
- **モデル ID:**`llama3.2` 、これは Olllama のモデル 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
```