LangChain の Googleカスタム検索 連携を試す
「LangChain」に「Googleカスタム検索」連携が追加されたので、試してみました。
前回
1. Googleカスタム検索
「Googleカスタム検索」は、WebサイトやアプリケーションでGoogle検索の機能を利用することができます。
LangChainのデフォルトの検索API「SerpAPI」との料金比較は、次のとおりです。
2. 検索エンジンIDとAPIキーの取得
Googleカスタム検索のサイトで、新しい検索エンジン(の設定)を作成し、検索エンジンIDとAPIキーを取得します。
(1) Googleカスタム検索のサイトを開き、「使ってみる」を押す。
(2) 新しい検索エンジンを作成。
検索エンジンの名前とウェブ全体を検索を指定します。
(3) 「基本」の「検索エンジンID」をコピー。
(4) 「プログラマティックなアクセス」「Custom Search JSON API」の「開始する」を押す。
(5) 「プログラム可能検索エンジン (無料版) ユーザー」の「キーの取得」を押し、「APIキー」をコピー。
3. Colabでの実行
Google Colabでの実行手順は、次のとおりです。
(1) パッケージのインストール。
# パッケージのインストール
!pip install langchain
!pip install openai
(2) 環境変数の準備。
自分の検索エンジンIDとAPIキーを指定します。
# 環境変数の準備
import os
os.environ["OPENAI_API_KEY"] = "<OpenAI_APIキー>"
os.environ["GOOGLE_CSE_ID"] = "<Googleカスタム検索_検索エンジンID>"
os.environ["GOOGLE_API_KEY"] = "<Googleカスタム検索_APIキー>"
(3) ツールの準備。
from langchain.agents import ZeroShotAgent, Tool, AgentExecutor, load_tools
from langchain import OpenAI, SerpAPIWrapper, LLMChain
# ツールの準備
tools = load_tools(["google-search"], llm=OpenAI())
(4) プロンプトテンプレートとエージェントの準備。
デフォルトだと英語の応答になってしまうことがあるため、カスタムエージェントにしてます。
# プロンプトテンプレートの準備
prefix = """次の質問にできる限り答えてください。次のツールにアクセスできます:"""
suffix = """始めましょう! 最終的な答えを出すときは、一人称は"ぼく"、語尾には"なのだ"を使用してください
Question: {input}
{agent_scratchpad}"""
prompt = ZeroShotAgent.create_prompt(
tools,
prefix=prefix,
suffix=suffix,
input_variables=["input", "agent_scratchpad"]
)
# エージェントの準備
llm_chain = LLMChain(llm=OpenAI(temperature=0), prompt=prompt)
agent = ZeroShotAgent(llm_chain=llm_chain, tools=tools)
agent_executor = AgentExecutor.from_agent_and_tools(agent=agent, tools=tools, verbose=True)
(5) 会話の実行。
agent_executor.run("ぼっち・ざ・ろっくの作者の名前は?")
> Entering new AgentExecutor chain...
Thought: この質問に答えるために、Google Searchを使う必要がある
Action: Google Search
Action Input: "ぼっち・ざ・ろっくの作者"
Observation: まんがタイムきららMAXで『ぼっち・ざ・ろっく!』載せてもらってます ⑤巻発売中。アニメ2022年10~12月放送してました。バンド大好き!通知切ってるのでリプライ ... 『ぼっち・ざ・ろっく!』(BOCCHI THE ROCK!)は、はまじあきによる日本の4コマ漫画。『まんがタイムきららMAX』(芳文社)にて、2018年2月号から4月号までゲスト連載 ... Nov 29, 2022 ... その筆頭といえるのが、アニメが今期最大級の注目作となっている『ぼっち・ざ・ろっく』の作者、はまじあきであろう。もともとはまじは「ちゃお」で ... Feb 27, 2019 ... ぼっち×女子高生×バンドという異色の組み合わせが話題の『ぼっち・ざ・ろっく!』。作者・はまじあき先生の、ロックすぎるインタビューをお届けし ... 8 days ago ... そして、現在放送中の『ぼっち・ざ・ろっく!』。原作者のはまじあきが、バンド活動に興味を持ち、調べ上げた上で原作を手がけたこともあり、コメディ ... 1cmの原作改変がヤバい?最終回目前で作者遂に情緒不安定..『ぼっち・ざ・ろっく!』アニメのヤバさを原作と比較 ... 4 days ago ... スタッフ ; 原作:はまじあき ; 監督:斎藤圭一郎 ; シリーズ構成・脚本:吉田恵里香 ; キャラクターデザイン・総作画監督:けろりら ; ライブディレクター: ... 7 days ago ... バンドって結構複雑で一筋縄では行かない」という感覚を教えてくれるアニメ『ぼっち・ざ・ろっく!』が最終回を迎える。本作は、いつかバンド活動する ... TVアニメ「ぼっち・ざ・ろっく!」エンディング映像/「なにが悪い」 · ED映像のキャラ(喜多郁代)が中指を立てていると話題に · 喜多郁代中指ファンアートが生まれてしまう ... Feb 25, 2020 ... 「ぼっち・ざ・ろっく!」の無料試し読みです! 【あらすじ】 「ぼっちちゃん」こと後藤ひとりは、ギターを愛する孤独な少女。 ... 作者:はまじあき.
Thought: はまじあきが『ぼっち・ざ・ろっく!』の作者であることがわかった
Final Answer: はまじあきなのだ。
> Finished AgentExecutor chain.
'はまじあきなのだ。
次回
この記事が気に入ったらサポートをしてみませんか?