ChatGPTを使って既存の図をMermaid化してみる

# はじめに

この記事は [Metaps Advent Calendar 2023](https://qiita.com/advent-calendar/2023/metaps) の13日目の記事です。

先日の[OpenAI DevDay](https://devday.openai.com/)でGPT4の機能を切り替えることなく使用できるAll Toolsや、オリジナルのGPTが作成できるGPTsが導入されるなど、ChatGPTの大幅なアップデートが発表されました。

特にAll Toolsで GPT-4V + Code Interpreter（Advanced Data Analysis）で画像やPDFを使用した柔軟な入力やコード的な指示ができるようになったので、既存の図を読み込ませてMermaid記法で出力させてみました。

資料上の図をMermaid記法で記述したい場合や、編集したいのに元データがない場合などにも使用できると思いますので、参考になりそうな部分をかいつまんで紹介します。

:::note warn

本稿の機能を使用するには`ChatGPT Plus`(月額20ドル)に加入する必要がありますが、OpenAI DevDay以降に利用者が急増し、~~[現在は新規の加入を停止](https://twitter.com/sama/status/1724626002595471740?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1724626002595471740%7Ctwgr%5Ee004b794229f89c19968bd6d9d5084e2f5bc6a44%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fsmooz.cloud%2Fnews%2Fcolumn%2Fchatgptplus-registration-pause%2F)しています。~~

[2023/12/14から新規加入を再開しました。](https://twitter.com/sama/status/1734984269586457078?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1734984269586457078%7Ctwgr%5Ed66c1279ab2e1bd8049deec63abcaea86f4c1efe%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fanakin.ai%2Fja-jp%2Fblog%2Fchatgpt-plus-reopens-subscriptions-ja%2F)
:::

また、Mermaidについては下記のMermaid公式ドキュメントや解説記事をご覧ください。

https://mermaid.js.org/intro/

https://qiita.com/b-mente/items/97a4296666faccd53a72

# chatでの操作
## 画像からMermaid記法への変換

資料などに記載されたシーケンスなどの画像の画面キャプチャを貼り付け、Mermaid記法で記述するよう雑にお願いするだけで、画像から構造情報とOCRを使用した文字情報の読み取りと両者のマッピングを行い、そこそこ高い精度でMermaid記法の記述を出力してくれます。

- 入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/9871e0b5-1580-cb27-bac6-09d6b3392354.png)

- 出力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/1af9e271-0d43-7bca-f878-356e558ddbf4.png)

```:出力されたMermaid記法
sequenceDiagram
    participant User
    participant WebServer
    participant AppServer
    participant DB

    User->>WebServer: HttpRequest
    WebServer->>AppServer: Forwarding request
    AppServer->>DB: Data inquiry
    DB-->>AppServer: Inquiry results
    AppServer-->>WebServer: Processing result
    WebServer-->>User: HttpResponse
```

```mermaid
sequenceDiagram
    participant User
    participant WebServer
    participant AppServer
    participant DB

    User->>WebServer: HttpRequest
    WebServer->>AppServer: Forwarding request
    AppServer->>DB: Data inquiry
    DB-->>AppServer: Inquiry results
    AppServer-->>WebServer: Processing result
    WebServer-->>User: HttpResponse
```
事前に役割や予備知識、注意事項を記載していないにもかかわらず、単純なプロンプトでここまで高い精度の変換を行ってくれるのは素晴らしいですね。

また、今回はactivateが記載されていないので自分で手直ししても良いのですが、activateを正確に記載するようお願いすると、ちゃんと修正して回答してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/2de1dddd-c807-0345-f41f-6f344c10776e.png)

```:出力されたMermaid記法
sequenceDiagram
    participant User
    participant WebServer
    participant AppServer
    participant DB

    User->>+WebServer: HttpRequest
    WebServer->>+AppServer: Forwarding request
    AppServer->>+DB: Data inquiry
    DB-->>-AppServer: Inquiry results
    AppServer-->>-WebServer: Processing result
    WebServer-->>-User: HttpResponse
```

```mermaid
sequenceDiagram
    participant User
    participant WebServer
    participant AppServer
    participant DB

    User->>+WebServer: HttpRequest
    WebServer->>+AppServer: Forwarding request
    AppServer->>+DB: Data inquiry
    DB-->>-AppServer: Inquiry results
    AppServer-->>-WebServer: Processing result
    WebServer-->>-User: HttpResponse
```

## Mermaidの対応範囲

Mermaid(ver 10.6.1)では16種類の図を生成できますが、公式ドキュメントのサンプル画像を参考にどこまで対応しているか調べてみました。

https://mermaid.js.org/

なお、入力する情報は上記のDiagram Syntaxに記載されているサンプル画像と`この画像をMermaid記法で記述してください。`のプロンプトのみに限定しています。

|種類|入力画像|出力(Qiita表現)|備考|
|---|---|---|---|
|Flowchart|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/7192a87c-b164-4bed-90f0-5a4fa54ce241.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/e51c3e99-501c-f6db-b2f4-051fd6a0cbee.png)|Endへの線が短い|
|Sequence Diagram|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/d5fa4667-aecb-9fba-26e6-650f9868521d.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/d7075c7c-06c7-cef3-d1e9-bee7924988ab.png)|アクティベーションが記載されてない|
|Class Diagram|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/4bf52a74-27da-24c8-58e8-3e9314f9cbd5.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/d62375e6-050e-7d8e-3394-70d4bffd5579.png)|タイトルが無い、noteが正常に表示できていない|
|State Diagram|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/4463f7cb-4abc-75d1-1150-94881fb45cfc.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/51f9319e-6a97-4c70-4f79-83c730403d93.png)|タイトルが無い、MovingからStillへの遷移が無い|
|Entity Relationship Diagram|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/dde98354-80e9-97ee-e74d-6d66c68c5e25.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/ff8c8413-2e03-f10e-c10e-25583cb438b5.png)|関係性が正常に表現できていない|
|User Journey|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/b4bbb731-68f2-76af-f37c-b8d3c28b2c41.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/dfd60436-eb4b-d2a4-7204-3782f5829246.png)|catがいない|
|Gantt|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/061484d9-e7b7-22e8-5a92-fcc0c67b58f4.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/8585626d-90a6-4f3d-b3ca-0a757c7f2702.png)|セクションと期間が正常に表示できていない|
|Pie Chart|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/998069d9-5461-b15a-2048-c1ead58068a8.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/91b3be7d-a8f3-758a-d82f-0a9acf7c3d48.png)|Pie Chartはサポートされていない|
|Quadrant Chart|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/2996073a-4260-cdd7-1119-5cec45a09f47.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/c38bdf1d-d25d-d5a6-2b88-31fd0a629341.png)|Quadrant Chartはサポートされていない|
|Requirement Diagram|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/0223323c-a4ec-9896-f74f-ff9d3ed19598.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/b74f16a0-b67d-3b80-0058-603415f0d5c4.png)|classDiagramで作成されている|
|Git|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/4148332f-7864-225a-ab3b-5c8f34ae83a6.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/06184300-26b0-56a1-0742-70f7517e92fd.png)|タイトルが無い、ブランチ名・commit id・branch/checkout/mergeのタイミングが異なる|
|C4 Diagram|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/89ec0d5e-04da-90f8-ed4c-d58b6cf9f43d.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/55256537-c211-2b61-eeaa-4ee23971b15c.png)|graphで作成されている|
|Mindmap|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/3e60089e-79b8-bbb9-6bb2-8dbae1c4dce0.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/d93fcc89-7c02-ad60-dff3-f37139420e73.png)|graphで作成されている|
|Timeline|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/6853e460-bcdc-de52-c20c-4e80bf123a9b.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/de307b3a-4046-bd61-a5ee-b30fe9db4beb.png)|ganttで作成しようとしたが失敗している|
|Sankey|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/a2af05ca-cce8-d38b-e894-f09eb777ee58.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/d4f762f1-469d-97ac-3c72-84ab826fdac6.png)|Sankeyはサポートされていない|
|XYChart|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/009c4dc6-4f33-7737-4737-d17cfac8590f.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/c8fca547-c9e4-c7e3-3752-7ca8228dd61f.png)|XYChartはサポートされていない|

※実験的にZenUMLが組み込まれていますが、Mermaidとは独立して存在しているため除外しています

デフォルトだと7種類の図に対応しており、対応済みの種類についてはかなりの精度でMermaid記法の記述を出力してくれるようです。

## 種類の追加と精度向上

デフォルトでは対応していないMermaid記法の種類については[[公式ドキュメントのDiagram Syntax]](https://mermaid.js.org/)のURLや[[Githubのsyntaxのmdファイル]](https://github.com/mermaid-js/mermaid/tree/develop/docs/syntax)を添付すると、browsingやanalysisで解析して回答に使用してくれるようになります。(All Tools素晴らしいですね)

|区分|公式ドキュメントURL添付|Github syntaxファイル添付|
|---|---|---|
|入力|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/531d85de-43bc-3e06-8f59-67d47aa717a0.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/0a5bd6ea-79f2-9180-1737-39bdceb86867.png)|
|出力|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/577d2e00-e9a9-a858-0c2a-42c29047339f.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/65acc3da-c932-bf5e-69d6-23a0f3742b62.png)|

また、上記の対応で精度も向上しますが、プロンプトに下記を追記する事で、より精度が向上します。

- 役割
- 解析ステップ
- 元画像の説明(オブジェクトや線の形状の説明)
- 出力したいMermaid記法の図の種類(ダイアグラム定義)
- 出力したいMermaid記法の注意事項

## プラグインの使用

ChatGPTではプラグインを使用して機能を拡張する事ができ、Mermaid用のプラグインも公開されていますが、使用するにはPRO以上を購入する必要があります。

https://www.mermaidchart.com/plugins/chatgpt

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/00a42c66-9e1c-f481-df28-80f08ab6bcd6.png)


ChatGPTでプラグインを使用するには、設定からプラグインを有効化します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/06f2f3ef-a758-339c-1bd2-52a1750d5fcd.png)

また、機能一覧からPluginsを選択、Plugins storeに遷移し、mermaidを検索してプラグインをインストールします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/f93f4f68-e577-1859-1328-8abfca8d850a.png)

:::note info
上記の種類の追加と精度向上の対応や、後述するGPTsで十分な場合もあるので、プラグインを購入する前に一度お試しください。
:::

## 日本語が含まれる画像の処理
画像に日本語が含まれる場合に、文字情報が読み取れないと回答が返ってくる場合があります。

- 入力画像
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/a1052b6a-9680-fb7e-2234-78434055aa7e.png)
- 出力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/ca9abe1c-7aa5-afee-fd49-7626ec0015d6.png)

### 自分でテキストデータを抽出して渡す
手間はかかりますが、言われた通りに画像に記載されているテキストを羅列して渡すと、画像の解析結果とテキストをマッピングして、Mermaid記法の記述を出力してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/9d14b2b7-b887-0fbc-48e3-e821eb404963.png)

```:出力されたMermaid記法
sequenceDiagram
    participant ユーザー
    participant ウェブサーバー
    participant アプリサーバー
    participant データベース

    ユーザー->>ウェブサーバー: Httpリクエスト
    ウェブサーバー->>アプリサーバー: リクエスト転送
    アプリサーバー->>データベース: データ問い合わせ
    データベース->>アプリサーバー: 問い合わせ結果
    アプリサーバー->>ウェブサーバー: 処理結果
    ウェブサーバー->>ユーザー: Httpレスポンス
```
```mermaid
sequenceDiagram
    participant ユーザー
    participant ウェブサーバー
    participant アプリサーバー
    participant データベース

    ユーザー->>ウェブサーバー: Httpリクエスト
    ウェブサーバー->>アプリサーバー: リクエスト転送
    アプリサーバー->>データベース: データ問い合わせ
    データベース->>アプリサーバー: 問い合わせ結果
    アプリサーバー->>ウェブサーバー: 処理結果
    ウェブサーバー->>ユーザー: Httpレスポンス
```

:::note info
Googleドライブに画像ファイルをアップロードし、Googleドキュメントでファイルを開くとOCRで読み取られたテキストが記載されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/fdc71424-84d5-fe2a-0381-fcabd8cbd6af.png)

OCRの読み取り精度もそこそこ高いので、画像からテキストを抽出する場合は手っ取り早くてオススメです。
:::

### PDF化して渡す
処理したい画像をツールで作成している場合は、画像をPDFとして保存するとテキストデータも一緒に出力できる場合があります。

そのようなテキストデータが含まれたPDFファイルをMermaid記法で記述するようにお願いすると、テキストデータを抽出・マッピングしてMermaid記法で出力してくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/c788a219-8e86-c946-7153-e83fc6c9dcd7.png)

また、PowerPointのファイルでも同様にテキストデータを抽出・マッピングしてMermaid記法で出力してくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/2c2b797e-16d6-0f9b-989c-140d3423bca9.png)

### 日本語をトレーニングする
そもそも日本語が読み取れない事が問題なので、トレーニングデータを渡して自分で日本語を読み取れるようになってもらいます。

:::note info
ChatGPTでは画像内のテキスト情報の読み取りにTesseractというオープンソース(`Apache-2.0 license`)のOCRエンジン(Pythonのpytesseractライブラリ)を使用していますが、ChatGPTはデフォルトでは日本語に対応していません。

だだ、[Tesseractは日本語のトレーニングデータをGithub上に公開](https://github.com/tesseract-ocr)しているので、日本語のトレーニングデータをアップロードしてCode InterpreterでOCRエンジン(Pythonのpytesseractライブラリ)に読み込ませ、画像内の日本語の読み取りに使用する事ができます。

また、Tesseractが公開しているトレーニングデータは各言語毎に縦書きと横書きが用意され、いくつかの種類にリポジトリが分かれているので、用途に応じてアップロードするファイルを選択してください。

|リポジトリ|説明|jpn(横書)<br>サイズ|jpn_vert(縦書)<br>サイズ|
|---|---|---|---|
|[tessdata_fast](https://github.com/tesseract-ocr/tessdata_fast)|最も速度が高いデータ|[2.36 MB](https://github.com/tesseract-ocr/tessdata_fast/blob/main/jpn.traineddata)|[2.9 MB](https://github.com/tesseract-ocr/tessdata_fast/blob/main/jpn_vert.traineddata)|
|[tessdata](https://github.com/tesseract-ocr/tessdata)|速度・精度共に中間のデータ|[34 MB](https://github.com/tesseract-ocr/tessdata/blob/main/jpn.traineddata)|[2.9 MB](https://github.com/tesseract-ocr/tessdata/blob/main/jpn_vert.traineddata)|
|[tessdata_best](https://github.com/tesseract-ocr/tessdata_best)|最も精度が高いデータ|[13.7 MB](https://github.com/tesseract-ocr/tessdata_best/blob/main/jpn.traineddata)|[13.7 MB](https://github.com/tesseract-ocr/tessdata_best/blob/main/jpn_vert.traineddata)|

リンク先の赤枠からトレーニングデータのダウンロードができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/b7b9e3fd-3bc5-b38a-940c-5f9e9a419b62.png)

※よくわからない場合はとりあえずtessdata_fastリポジトリの横書と縦書のファイルをアップロードしておけば良いと思います

また、Code InterpreterでEasyOCRやPaddleOCRなどの、他のオープンソースの日本語のOCRエンジンを使用する場合は、別途トレーニングデータを用意する必要がありますので注意してください。

:::

- 入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/00aaebb3-1cb9-e5f0-41ae-5da6b5f7aa8c.png)
- 出力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/9efc4cf3-4d09-f649-3591-21833adfebaf.png)

```:出力されたMermaid記法
sequenceDiagram
    participant ユーザー
    participant ウェブサーバー
    participant アプリサーバー
    participant データベース

    ユーザー->>ウェブサーバー: Httpリクエスト
    ウェブサーバー->>アプリサーバー: リクエスト転送
    アプリサーバー->>データベース: データ問い合わせ
    データベース-->>アプリサーバー: 問い合わせ結果
    アプリサーバー-->>ウェブサーバー: 問い合わせ結果
    ウェブサーバー-->>ユーザー: Httpレスポンス
```
```mermaid
sequenceDiagram
    participant ユーザー
    participant ウェブサーバー
    participant アプリサーバー
    participant データベース

    ユーザー->>ウェブサーバー: Httpリクエスト
    ウェブサーバー->>アプリサーバー: リクエスト転送
    アプリサーバー->>データベース: データ問い合わせ
    データベース-->>アプリサーバー: 問い合わせ結果
    アプリサーバー-->>ウェブサーバー: 問い合わせ結果
    ウェブサーバー-->>ユーザー: Httpレスポンス
```


# GPTsでの操作

上記で紹介した種類の追加と精度向上や、日本語が含まれる画像の読み取り等の対応を毎回手動で設定するのが面倒な場合は、自分用にカスタマイズしたChatGPTを作成できるGPTsの機能を使用して、Mermaid用の設定を行ったGPTを作成する事ができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/c9c6d088-b760-7cba-9f1d-083644d976c3.png)

## GPTsの作成方法

すでにGPTsの作り方については様々な記事で紹介されているので詳細はそちらに譲るとして、ココではザックリした流れを紹介していきます。

https://help.openai.com/en/articles/8554397-creating-a-gpt

まずは設定からMyGPTsのCreate a GPTをクリックして、新しいGPTを作成する画面に遷移します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/941fd143-43a4-000e-8022-78f3973579e3.png)

画面左のGPT Builderとやりとりをしながら自分用のMermaidの設定を作成していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/7843cb1f-6dac-cfb1-fda3-404a661a9437.png)

GPT Builderとのやりとりが終わったらConfigureに移動し、種類の追加と精度向上を行うためにMermaidの[[Githubのsyntaxのmdファイル]](https://github.com/mermaid-js/mermaid/tree/develop/docs/syntax)と、画像内の日本語を読み取れるようTesseractの日本語のトレーニングデータをKnowledgeにアップロードします。

次に、日本語で回答するようInstructionsの記述を日本語に翻訳し、先ほどKnowledgeにアップロードしたsyntaxファイルと日本語のトレーニングデータを使用するよう記載します。

最後に、CapabilitiesではデフォルトでCode Interpreterのチェックが外れているので、チェックをつけます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/82d65e72-33d7-78ce-24da-17f89a4e7115.png)

:::note info
Instructionsをどう記述するかで精度や使いやすさが変わるので、Previewなどで試しながらチューニングしてみてください。また、種類の追加と精度向上で記載したプロンプトの項目を記載しておくと、比較的安定して精度が向上します。

なお、アップロードするファイルには制限があるので、サイズの大きなファイルを選択する場合は下記を参考にしてください。
[File uploads with GPTs and Advanced Data Analysis in ChatGPT](https://help.openai.com/en/articles/8555545-file-uploads-with-gpts-and-advanced-data-analysis-in-chatgpt)

:::

## GPTsの公開方法

作成したGPTは右上のSaveから公開でき、公開するとメニュー左上のChatGPTの下に表示されて使えるようになります。

また、公開の方法には`自分だけ使える`、`リンクを知っている人だけ使える`、`全員使える`、の3種類があるので、用途に応じて選択してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/ce0118dd-89c6-cd1b-3f25-08cc813fc34e.png)

:::note warn
公開する方法として`リンクを知っている人だけ使える`、`全員使える`を選択すると作成者名が表示されるようになります。

自分の本名が設定されている場合など、名前を公開したくない場合は設定から非表示にする事ができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699056/68b1e8ac-fe39-7150-78b8-e67ef03ca6fc.png)

:::

# おわりに
普段ChatGPTを使用する際はもう少し丁寧にプロンプトを作成しているのですが、今回記事を作成するにあたりNGケースとして記載したハズの雑なプロンプトで、思った以上に高い精度の回答が返ってきて驚きました。

また、GPTsだけでなくAssistantsを使用したシステムとのAPI連携なども色々できて面白そうなので、進展があれば本稿に追記するかもしれません。