
5
ツールの定義と利用
ここでは、ツールを呼び出すことでLLMが外の世界とやり取りする例をシミュレーション
してみます。例として、「2001年宇宙の旅」[Clarke 1968] のセリフを参考に、人工知能HAL
9000とボーマン船長の会話をシミュレーションしてみます。HAL 9000 は、船内のあらゆるシ
ステムを管理する高度な人工知能です。小説では、ボーマン船長の次のセリフがあります。
ハル、ポッドのライトを20度左にまわしてくれ。
HAL 9000 は、これに応えてポッドのライトを左に回転させます。LLMもツールを使用し、
同様のタスクを実行することができます。
リスト 5.2.8 に、小説を参考にしたHAL 9000 とボーマン船長の会話をシミュレーションす
るプログラムを示します。ここでは、以降、このプログラムについて順を追って説明します。
リスト5.2.8
from langchain_openai import ChatOpenAI
from langchain_core.messages import SystemMessage, HumanMessage, AIMessage, ToolMessage
from langchain_core.tools import tool
llm = ChatOpenAI()
messages = [ ...