
メッセージリストによる呼び出し(マルチモーダル)
使用する会話モデルがマルチモーダルに対応している場合、メッセージにテキスト以外の
データを含ませることができます。例えば、ChatOpenAIを使用することでメッセージに
JPEG画像を含ませることができます。マルチモーダルのメッセージは、API プロバイダごと
にフォーマットが決まっています。本書執筆時点では、マルチモーダルのメッセージは、API
プロバイダ間で互換性がありません。ここでは、OpenAIを想定して LangChainにおけるマル
チモーダルの使い方を示します。
リスト 5.2.3 にマルチモーダルでメッセージに画像を含ませる例を示します。
リスト5.2.3
from langchain_openai import ChatOpenAI
from langchain_core.messages import SystemMessage, HumanMessage, AIMessage
import sys
import base64
def explain_image(filename: str) -> str:
with open(filename, "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode("utf-8") ...