ChatGPTでMarkdownテキストを取得する方法
この記事ではChatGPTの出力結果をMarkdownテキストで取得したい方に向けて、
基本的な考え方と具体的な方法について説明します。
その前に、まず結論だけをお伝えします。
Markdownテキストを取得する方法
方法①:ブラウザの拡張機能を使う
ブラウザの拡張機能を入れられる条件下であれば、拡張機能を入れるのが手っ取り早いです。
何のテクニックも不要です。
さまざまな拡張機能がありますが、Chromeの場合は次の2つが使いやすいと思います。
- Export ChatGPT Conversation
- ChatGPT Exporter(Tampermonkeyが必要)
- Chrome拡張機能の「Tampermonkey」を追加する
- Greasy Forkの「ChatGPT Exporter」をインストールする
参考: ChatGPTの会話ログの保存方法 | hisa334.com
方法②:プロンプトを工夫する
拡張機能を使えない場合や、モバイル等でMarkdownテキストを取得したい場合は、
次のようにプロンプトを指定してください。
-
「Markdownで出力」と指定する
-
末尾に次のプロンプトを置く
# 出力フォーマット ``` ここに出力する ```
基本的な考え方
まずChatGPTにおけるMarkdownの位置づけについて、例とともに説明します。
ポイントは2つあります。
- ポイント①:ChatGPTは、常にMarkdownテキストを出力している
- ポイント②:ChatGPTの画面(UI)は、ChatGPTが出力したMarkdownテキストをHTMLに変換(レンダリング)している
例
「カレーのレシピを出力してください。」というプロンプトを入力し、
後追いで出力フォーマットを指定する形でMarkdownテキストを出力させようと試みます。
例1:上記をMarkdownで出力してください。
例2:上記をプレーンテキストのMarkdownで出力してください。
例3:出力フォーマット指定
上記をMarkdownに変換してください。
# 出力フォーマット
```
ここに出力する
```
説明
例1:上記をMarkdownで出力してください。
例2:上記をプレーンテキストのMarkdownで出力してください。
例1、例2は「Markdownで出力してください」と指示しているにもかかわらず、
ブラウザのUI上ではHTMLとしてレンダリングされてしまっています。
実は冒頭の「方法①:ブラウザの拡張機能を使う」でテキストをコピーすると、
Markdownテキストをそのまま取得できてしまいます。
つまりChatGPTは本当にMarkdownテキストを出力しているようです。
以上から次のように推測されます。
- ChatGPTは、Markdownテキストを出力する
- ChatGPTのUIは、出力されたMarkdownテキストをHTMLに変換する
- ブラウザは、変換されたHTML(あるいはDOM)をレンダリングする
例3:出力フォーマット指定
次のように出力フォーマットをプロンプトとして明示することで、
出力フォーマットを安定させるテクニックがあります[1]。
# 出力フォーマット
```
ここに出力する
```
このプロンプトを使って「Markdownで出力してください」といえば、
ChatGPTはMarkdownテキストをコードブロックに出力してくれるようになります。
おまけ:LaTeXテキストを出力してもらう
例3のテクニックは、他のテキストフォーマットでも通用するようです。
たとえば次はオイラーの公式をLaTeX形式で出力してもらう例です。
ポイントは次のとおりです。
- ①全体としてはMarkdown形式で出力させる
- ②数式だけLaTeX形式で出力させる
例3のテクニックの前提として「Markdownのコードブロックに出力させる」必要があるので、
①が必要になります。
以上です。
-
情報が溢れすぎてもはや出典がわからないので、知ってる方はコメントください。 ↩︎
Discussion