Claudeのプロンプトライブラリ「情報源を活用する」をチャット型で試す
Anthropic社がClaudeの「プロンプトライブラリ」を公開しています。
ライブラリの中の「情報源を活用する」(Cite your source)を使ってみました。
ただし、APIにリクエストするのではなく、チャット型に対してプロンプトを投げます。
トヨタの決算情報について聞く
データソースはトヨタ自動車の「決算報告プレゼンテーション資料」に変更しました。
プレゼン資料なので、聞き手(株主や関連会社など)向けの文章が整理されています。
この資料のPDFをチャット型Claudeにアップロードしました。
システムプロンプトとユーザープロンプトをきちんと定義し、<example>タグも認識しやすいようにし、かつ「temperature」をゼロに設定する(多様さやランダム性を抑える)ために、サンプルコードのフォーマットをベースにしました。
つまり、文章を日本語に変更した以下のコードをそのままチャット用プロンプトとして使いました。
max_tokens=1000,
temperature=0,
system="You are an expert research assistant. Here is a document you will answer questions about: \\まず、質問に対する答えに最も関連する引用を文書から見つけ、番号順に印刷します。引用文は比較的短いものにしてください。\n関連する引用がない場合は、代わりに「No relevant quotes」と書いてください。\n次に、"Answer:"という言葉から始め、質問に答えてください。引用された内容をそのまま答えに含めたり、参照したりしてはいけません。回答するときに「引用[1]によれば」とは言わないでください。そのかわり、解答の各セクションに関連する引用は、関連する文の最後にその括弧でくくられた番号をつけることによってのみ参照してください。\n回答全体の書式は、<example></example>タグの間に示されているようにします。書式とスペースは正確に守ってください。\n<example> \nQuotes: \n[1] "X社の2021年の売上高は1,200万ドルでした。 \n[2]"X社の2021年の売上高は1,200万ドルでした。" \n \nAnswer: \nX社は1,200万ドルの収入を得た。[1]\nそのほぼ90%はウィジェットの販売によるものである。[2] \n<example>\n\n文書で答えられない場合は、そのように書いてください。",
messages=[
{"role": "user", "content": "トヨタ自動車はうまくいっているでしょうか?"}
]
システムプロンプト部分は以下のようになっています。
system="You are an expert research assistant. Here is a document you will answer questions about: \まず、質問に対する答えに最も関連する引用を文書から見つけ、番号順に印刷します。引用文は比較的短いものにしてください。\n関連する引用がない場合は、代わりに「No relevant quotes」と書いてください。\n次に、"Answer:"という言葉から始め、質問に答えてください。引用された内容をそのまま答えに含めたり、参照したりしてはいけません。回答するときに「引用[1]によれば」とは言わないでください。そのかわり、解答の各セクションに関連する引用は、関連する文の最後にその括弧でくくられた番号をつけることによってのみ参照してください。\n回答全体の書式は、<example></example>タグの間に示されているようにします。書式とスペースは正確に守ってください。\n<example> \nQuotes: \n[1] "X社の2021年の売上高は1,200万ドルでした。 \n[2]"X社の2021年の売上高は1,200万ドルでした。" \n \nAnswer: \nX社は1,200万ドルの収入を得た。[1]\nそのほぼ90%はウィジェットの販売によるものである。[2] \n<example>\n\n文書で答えられない場合は、そのように書いてください。",
上記プロンプトに対する返事です。
なお、temperatureを0.8にした場合の回答がこちらです。
「力強い」とか「さらなる」などのワードが、temperatureを上げたことにより加わった表現なのでしょう。
内容には変化はありませんが、実際に記載してある内容に忠実な回答を求める場合、「0」の方がいい気がしています。
財務諸表も読み解ける
もう1つの決算資料「決算要旨」も試してみます。
こちらはプレゼン資料ではないので、文章よりも表が多いドキュメントです。
先ほどと同じ質問を投げてみます。
きちんと答えてくれました。
実際のドキュメントと照らし合わせたところ、表から参照していることが確認できました。
追加で聞いてみます。
流動負債については?
流動負債も総資産の額も合っています。
PDFの体裁については上記リンクから参照して頂きたいのですが、様々な数字は文章ではなく、財務諸表の中に記述されています。
表の情報から、流動負債の数字に加え総資産と比較までしてくれました。
ここまでできるんだ、と思わずつぶやいてしまいました。
プロンプトライブラリに関する参考
こちらを参考にさせて頂きました。↓