見出し画像

LangChain の会話エージェント conversational-react-description を試す

「LangChain」の会話エージェント「conversational-react-description」を試したのでまとめました。

前回

1. conversational-react-description

「conversational-react-description」は、会話用に最適化されたエージェントです。エージェントがユーザーとチャットしながら、必要な時にツールの機能を呼び出すことができます。

2. Colabでの実行

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キー>"

検索エンジンIDとAPIキーについては、以下を参照。

(3) パッケージのインポート。

from langchain.agents import Tool
from langchain.chains.conversation.memory import ConversationBufferMemory
from langchain import OpenAI
from langchain.utilities import GoogleSearchAPIWrapper
from langchain.agents import initialize_agent

(4) ツールの準備。

# ツールの準備
search = GoogleSearchAPIWrapper()
tools = [
    Tool(
        name = "Current Search",
        func=search.run,
        description="アニメや漫画の質問に答える必要がある場合に役立ちます"
    ),
]

(5) メモリの準備。

# メモリの準備
memory = ConversationBufferMemory(memory_key="chat_history")

(6) エージェントの準備。

# エージェントの準備
llm=OpenAI(temperature=0)
agent_chain = initialize_agent(
    tools, 
    llm, 
    agent="conversational-react-description", 
    verbose=True, 
    memory=memory
)

(7) 会話の実行。
ツールが必要ない会話では、ツールは使わず通常会話が返されます。

agent_chain.run(input="こんにちは!今日も寒いですね")
> Entering new AgentExecutor chain...

Thought: Do I need to use a tool? No
AI: こんにちは!そうですね、今日はとても寒いですね。

> Finished chain.
'こんにちは!そうですね、今日はとても寒いですね。

(8) 会話の実行。
ツールが必要な会話では、ツールが実行され、その結果を元にした会話が返されます。

agent_chain.run(input="ぼっち・ざ・ろっくの作者は誰だっけ?")
> Entering new AgentExecutor chain...

Thought: Do I need to use a tool? Yes
Action: Current Search
Action Input: ぼっち・ざ・ろっくの作者
Observation: まんがタイムきららMAXで『ぼっち・ざ・ろっく!』載せてもらってます ⑤巻発売中。アニメ202210~12月放送してました。バンド大好き!アニメ公式. 『ぼっち・ざ・ろっく!』(BOCCHI THE ROCK!)は、はまじあきによる日本の4コマ漫画。『まんがタイムきららMAX』(芳文社)にて、20182月号から4月号までゲスト連載 ... 7 days ago ... 今期のアニメーション界の話題を席巻する作品になった、はまじあきの4コマ漫画『ぼっち・ざ・ろっく!』。 ... 「陰キャならロックをやれ!」という ... 8 days ago ... 同人誌即売会「コミックマーケット101」(C101)が東京ビッグサイトで開催。1日目となる1230日に、人気アニメ「ぼっち・ざ・ろっく! Feb 27, 2019 ... ぼっち×女子高生×バンドという異色の組み合わせが話題の『ぼっち・ざ・ろっく!』。作者・はまじあき先生の、ロックすぎるインタビューをお届けし ... 【LIVE映像】結束バンド「星座になれたら」LIVE at 秀華祭/ 「ぼっち・ざ・ろっく!」劇中曲 · アニプレックス チャンネル. アニプレックス チャンネル. スタッフ ; 原作:はまじあき ; 監督:斎藤圭一郎 ; シリーズ構成・脚本:吉田恵里香 ; キャラクターデザイン・総作画監督:けろりら ; ライブディレクター:川上雄介 ... 8 days ago ... 間違いなく今期の覇権アニメとなった「ぼっち・ざ・ろっく!」 · その原作者・はまじあき先生が本日のコミケに参加とか · どえらいことになりそう…… · そして ... 商品の説明. ぼっち・ざ・ろっく! ぼっちざろっく、 デフォルメ ぬいぐるみ 全5種セット 後藤ひとり(ぼっちちゃん) 伊地知虹夏山田リョウ喜多郁代 「ぼっち・ざ・ろっく! 2」はまじあき#はまじあき #本 #コミック/コミック直筆サイン本 未開封品水濡れの対策と緩衝材で包んで発送 ...
Thought: Do I need to use a tool? No
AI: はまじあきさんが『ぼっち・ざ・ろっく!』の作者です。

> Finished chain.
'はまじあきさんが『ぼっち・ざ・ろっく!』の作者です。'

次回



この記事が気に入ったらサポートをしてみませんか?