📄

ChatGPTでMarkdownテキストを取得する方法

2023/04/14に公開

この記事ではChatGPTの出力結果をMarkdownテキストで取得したい方に向けて、
基本的な考え方と具体的な方法について説明します。

その前に、まず結論だけをお伝えします。

Markdownテキストを取得する方法

方法①:ブラウザの拡張機能を使う

ブラウザの拡張機能を入れられる条件下であれば、拡張機能を入れるのが手っ取り早いです。
何のテクニックも不要です。

さまざまな拡張機能がありますが、Chromeの場合は次の2つが使いやすいと思います。

参考: 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テキストを出力しているようです。

以上から次のように推測されます。

  1. ChatGPTは、Markdownテキストを出力する
  2. ChatGPTのUIは、出力されたMarkdownテキストをHTMLに変換する
  3. ブラウザは、変換されたHTML(あるいはDOM)をレンダリングする

例3:出力フォーマット指定

次のように出力フォーマットをプロンプトとして明示することで、
出力フォーマットを安定させるテクニックがあります[1]

# 出力フォーマット

```
ここに出力する
```

このプロンプトを使って「Markdownで出力してください」といえば、
ChatGPTはMarkdownテキストをコードブロックに出力してくれるようになります。

おまけ:LaTeXテキストを出力してもらう

例3のテクニックは、他のテキストフォーマットでも通用するようです。
たとえば次はオイラーの公式をLaTeX形式で出力してもらう例です。

ポイントは次のとおりです。

  • ①全体としてはMarkdown形式で出力させる
  • ②数式だけLaTeX形式で出力させる

例3のテクニックの前提として「Markdownのコードブロックに出力させる」必要があるので、
①が必要になります。

以上です。

脚注
  1. 情報が溢れすぎてもはや出典がわからないので、知ってる方はコメントください。 ↩︎

Discussion