🌐

claude3の知識をgoogle searchで強化する

2024/04/26に公開

https://github.com/na8esin/LangChain-sample/blob/5f10762b7502fbd814a44f6a79b32dd4f4495f55/bedrock_chat_sample.py

こんな感じのコードを用意しまして、
py bedrock_chat_sample.py 今日の日本のニュースは?
↑のように実行しますと下記の結果が返ってきました。

content='はい、今日の日本のニュースは以下のようなものがあります:\n\n
- コロナ感染者数の動向 - 東京都などで新規感染者数が再び増加傾向にあると報道されています。感染症対策の強化が求められています。\n\n
- ロシアウクライナ情勢の影響 - ロシアによるウクライナ侵攻の影響で、日本国内でも物価高や供給面での懸念が高まっています。\n\n
- 参議院選挙の動き - 7月10日の参議院選挙に向けて各政党が候補者の擁立や政策を発表しています。有権者の注目が集まっています。 \n\n
- 経済指標の発表 - 5月の日本の景気指数などが発表され、景気の現状が把握されています。\n\n
- 災害情報 - 九州など一部地域で局所的な大雨の影響が出ていると報じられています。\n\n
といった具合に、政治経済、コロナ、災害など、様々な分野のニュースが報道されているようです。関心のある情報があれば、詳しく見ていただければと思います。' additional_kwargs={'usage': {'prompt_tokens': 19, 'completion_tokens': 345, 'total_tokens': 364}} response_metadata={'model_id': 'anthropic.claude-3-haiku-20240307-v1:0', 'usage': {'prompt_tokens': 19, 'completion_tokens': 345, 'total_tokens': 364}}

これを実行したときは、2024年4月26日なので、ちょっとデータが古そうです。

また、こんな感じで、今日の日付を聞いてみましたが間違っていました。

py bedrock_chat_sample.py 今日は、何年の何月ですか?
content='はい、今日は2023年3月14日です。

という感じで、ある時点までの学習データしか持ってないので、最新の知識を補強してやる必要があります。

これは、langchainとgoogle search apiを使うとllmの知識を補強することができます。

ということで、こんな感じのコードを用意しました。
https://github.com/na8esin/LangChain-sample/blob/e745c11e02463becd9b6a2f6e7c76c359b70744e/google_search_bedrock.py

それをこんな感じで実行します。
py google_search_bedrock.py 今日の日本のニュースは何ですか?

結果はこんな感じです。色分けしないと見づらいのでキャプチャにしてます。

  • The Bank of Japan keeping interest rates steady while tweaking its language around bond purchases.
  • Two town mayors in Japan stepping down over corruption scandals.

プロンプト用のテンプレートが英語のためか、回答が英語で返ってきてますが、内容は新そうです。
二人の町長というのは、愛知・東郷町と岐阜・池田町の町長だと思われます。
ですが、ニュースの数が2つで、少ないですね。。。

ちなみに、今日の日付を聞いてみると正確に返ってきました。

しくみのテックブログ

Discussion