[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).
TextgeneratorisahandypluginforObsidianthathelpsyougeneratetextcontentusingGPT-3(OpenAI).-GitHub-nhaouari/obsidian-textgenerator-plugin:Textgeneratorisahandyplug...

基本的な使い方

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」は若干大きめに設定しておいた方が良いかもしれないね。

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

Text Generator Plugin! Free Alternative to Copy.ai, Jasper and Rytr
TextGeneratorPlugin

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をコピーしました