[Obsidian × ChatGPT] Text Generatorプラグインの威力

Michael: Hello! マイケルだ!
Mary: ワタシハ、Siriデス

Michael: メアリー……ChatGPT関連の記事だからって、Siriをいきなりイジるのはやめといた方がいいぞ!
あとドラクエ4とかもダメだ!

Mary: 最初からガンガンいかない方が良いってことね!
でもドラクエ4って結局何だったの? ChatGPTの登場でAIそのものの概念が……

Michael: それじゃあ今回は、AIパワー with Obsidian!「Text Generator」を試してみよう! Let’s get started!!

Mary: シカト!?

GitHub - nhaouari/obsidian-textgenerator-plugin: Text generator is a handy plugin for Obsidian that helps you generate text content using GPT-3 (OpenAI).
Text generator is a handy plugin for Obsidian that helps you generate text content using GPT-3 (OpenAI). - GitHub - nhaouari/obsidian-textgenerator-plugin: Text...

基本的な使い方

Michael: プラグインの導入はとっても簡単だ! 事前にOpenAIのアカウントを作成して、APIキーを取得しておこう。

後はプラグインをインストールして設定画面を開いたら、一番上の入力欄にコピーしたAPIキーをペーストするだけ。GPT-4のAPIを使う場合は、その下の「Model」でGPT-4を選択することを忘れずにね。

APIキーや、後に出てくる「トークン」については前回の記事を参考にしてくれ!

ChatGPT APIを使う前に知っておきたい前提知識
非常に便利なAPIですが、利用料金などわかりにくい点がいくつかあったので、前提知識としてまとめておきます。

これで準備は完了。適当にノートを開いてと……。メアリー、試しにAIに何か尋ねてみてよ!

Mary: OK! じゃあこんなのはどう?

Michael: 良い質問だメアリー! さぁ、コマンドパレットを開いて「Generate Text!」を選択しよう!

デフォルトではCtrl () + J がショートカットキーとして登録されているから、そっちでもOK。
さて、どうなるかな?

Mary: Wow! すごいわ! Big Bang Theoryよ! 私、クリプキが好き!
Michael: ああメアリー、最高のリアクションだ! 主人公シェルドンのライバル、バリー・クリプキ博士のことなんて98%の日本人は知らないってことを除けばね!

気を取り直して……続けて訊いてみよう。

Michael: 赤い部分が入力、その他がAIからの回答だ。こんなふうに以前の内容を踏まえた質問もできるぞ!
ただし会話が長く続くと、トークン数が多くなりがちな点には注意しよう。

Mary: どうして?

Michael: ChatGPTは前の会話を覚えてるわけじゃない。会話が続けられるのは、それまでのやり取りを全部送信してるからなんだ。
試しに1行だけ送信してみよう。質問を入力して、そのテキストを選択してから「Generate Text!」すれば、指定した部分だけを送信できるぞ!

Mary: 「文脈が無い」って言われたわ。ところでマイク、文脈って何?
Michael: OKメアリー……そいつは後でじっくり話そう。今日は長くなりそうだぜ!

Text Generatorの設定項目

Michael: 基本的な使い方がわかったところで、設定項目をもう少し見ておくとしよう。

名称意味
Max tokensAIの返答に使用されるトークン数の上限
Temperature返答のランダム性。
0にすると、同じ質問には必ず同じ答えが返される
Frequency penalty生成された単語に対するペナルティを課し、
同じ単語を使いにくくなる
Output generated text
to blockquote
AIからの返答がコードブロックとして出力される
IncludeTitle質問にノートのタイトルを含める

設定はデフォルトで使っても問題は無いけど、日本語だと500トークンは思ったより少ない。
長めの回答が欲しいなら「Max tokens」は若干大きめに設定しておいた方が良いかもしれないね。

他にも色々と設定できる項目はあるから、より進んだ使い方を試したい人は作者のページで確認しよう!

TextGen
TextGen

Text Generatorのテンプレート機能

Mary: 一応なんとなく使えるようにはなったけど、マイク……これってOpenAIのWebサイトでチャットしてるのと変わらなくない?
今のところ、あんまりスゴいプラグインには思えないんだけど……

Michael: 相変わらず鋭いなメアリー! そう、今の時点ではほとんど変わらない。こいつの強みは「テンプレート機能」にあると言っても過言ではないんだ。

Mary: テンプレートって「定型文をあらかじめ用意しておく」ってやつよね? それがどう強みになるの?

Michael: ChatGPTを使う上で最も重要なのが「プロンプト」、つまり「どう質問するか」だ。

欲しい答えにより近い返答を得るには、ユーザー側でAIを誘導してやる必要があるってことだね。
たとえば「夕食のメニューを提案して」みたいなざっくりした質問では、こんな返答しか返ってこない。

これってとっても……なんていうか……セクシーじゃないだろ?
レシピを提案してほしいなら、具体的な情報や条件を与えた方がより求める答えに近づける。

ただこういった細かな条件を毎回毎回入力するのも面倒だよね? そこでテンプレートの出番ってわけさ!

テンプレート機能の準備

Michael: テンプレートは自分で作成することもできるんだけど、始めはプラグインに生成してもらうと話が早い。
コマンドパレットで「Template Packages Manager」を起動しよう。

テンプレートがまとめられたパッケージがいくつかリストアップされる。どれかをクリックして「Install」だ。
今回は一番オーソドックスな「Default Prompts Package」をインストールするぜ!

これで準備は完了! あとは実際に使ってみよう。

AIに簡単に説明してもらう

Michael: ここでは例として、この文章を使うことにする。

現在では熱を100% の効率で、仕事に変えることは出来ないことが知られている。 このことは熱が微視的な物体の乱雑な動きから構成されており、 確かにそれらはエネルギーを持ってはいるのだが、それらを 秩序だった仕方で取り出し、何らかのことに役立てることが 困難であることによっている。

これはWikipediaの「熱力学」のページから引用した文章だ。なんだか難しくて堅苦しい印象だよね。
これをAIに簡単に説明してもらうとしよう。

テンプレートを使うには、この文章をそのままノートに貼り付けて、コマンドパレット「Generate & Insert」を選択する。

さらにもう一度コマンドを選択する画面が出てくるから、ここでは「Simplify」を選ぼう。

出てきた回答がこれだ!

Mary: すごーい! 確かに私にもわかりやすいわ!
でもマイク、「簡単に説明して」って言ってないのに、どうしてこんなことができるの?

Michael: それがテンプレートの便利なところさ。 実際に見てみよう。

テンプレートを編集する

Michael: Obsidianのファイルエクスプローラーを確認してみると、新しく「textgenerator」ってフォルダが作成されているはずだ。その中には「prompts」や「default」ってフォルダが含まれてるね。

Mary: さっきの「simplify」と同じ名前のファイルもあるわ!

Michael: その通り。さっき見た2つ目の選択肢はこのファイルさ! 中身は普通の.mdファイルだから、開いて中を覗いてみよう。

Mary: マイク、あなたったら嫌な人ね! ちゃっかり事前に編集してるじゃない!?

Michael: ごめんごめん! デフォルトでは返答が英語になりやすいからね!
でも僕が編集したのは一番下の「プロンプト」だけだ。他は何も変えてないよ。

ここで重要なのは{{context}}だ。これは入力した内容が入る変数だね。つまりさっきの小難しい文章がここに当てはまる。
全体としてどんな質問がAIに送られるかって言うと、「(小難しい文章) を5才児でも理解できるように、わかりやすく説明してください」だ!

Mary: 変数と定型文のおかげで、面倒な作業を何度もしなくてよくなるってことね! なんて素晴らしいの!

Michael: そうさメアリー! テンションブチ上がるだろ!?

Mary: Holy smokes!

Michael: YEEEES! WE DID IT! Woohooooooo!!!

Michael & Mary: U・S・A! U・S・A!

AIに記事を執筆してもらう

Michael: OK, 話を戻そう。このテンプレート、見てわかるように1つだけじゃない。他にも役に立つテンプレートが盛り沢山なんだ。
次にタイトルだけを提案して、そこからAIに記事を書いてもらうとしよう。

新しいノートを用意して、タイトルを決めておく。そうだな……「ChatGPTによる人類の進化と懸念」とでもしておこうか。

この空白のページを開いた状態で、さっきみたいにコマンドパレットから「Generate & Insert」→「Generate Outline」と進む。

タイトルに沿った記事のアウトラインが生成されたね。

Mary: でもまだ「記事」にはなってないわ。マイク、ここからどうするの?

Michael: 簡単さ! もう一度さっきと同じ流れをたどって、今度は「Generate Outline」じゃなく「Write paragraph」を選択しよう!

しばらく待つと、アウトラインを元にした構成で記事が生成される。

Booooom! どうだい! スゴいだろ?

Mary: なんてこと……ああ、なんてことなの! 見出しまで自動で作成できちゃうなんて!

Michael: もちろんこのままじゃ「内容のある記事」とはとても呼べるもんじゃない。けれど文章を書く手助けには十分なるはずだ。
AIを上手く活用することも、これからの執筆には大事なスキルになってくるだろうね。

まだまだ広がるChatGPTの使い道

Mary: 今回も素敵な紹介、ありがとうマイク! それで……私たちの出番もあと少しなんだけど、他に何か伝えておきたいことはある?

Michael: ああ。Text Generatorプラグインにはまだまだ使える機能がたくさんある。今回とは逆に文章からタイトルを生成したり、メールの返信にだって使えるぞ!
あとはフロントマターに記述した内容をプロンプトに含めることだって可能だ。とにかく色々試してみて、自分に合った使い方を探してみてくれ!

Mary: みんなも困ったことがあったら、「0570-00-8139」まで電話してね! マイクが何でも答えてくれるわ!

Michael: 違うぞメアリー! そいつはJAFの「ロードサービス救援コール (全国共通、年中無休) 」の電話番号だ! まったく、おっちょこちょいの子猫ちゃんめ!

Mary: あらやだ私ったら……そういえばドラクエ4のこと、ChatGPTに訊いてみなくちゃ!

Michael: いのちだいじに!!

タイトルとURLをコピーしました