GPT4 Vision APIでGPTに請求書を読ませてみる
GPT4はテキスト以外に画像や音声を入力処理することができるマルチモーダルモデルです。当初はテキストのみの公開でしたが、今はChatGPT Plusの登録者にGPT4のVision機能が解禁されているほか、11月6日のOpenAI Dev DayではOpenAI Vision APIが発表され、APIからも利用できるようになりました。
今回は会計業務への適用を模索すべく、請求書のイメージデータを入力処理できるか試してみます。
APIの利用について下記npakaさんの記事を参考にしました。
Vision APIの利用
まずopenaiライブラリをインストールします。
!pip install openai
次にライブラリをインポートし、API keyを読み込みます。
Colabにはつい先日11月2日にsecret keyを管理する機能が追加されています。こちらの機能を使ってAPI keyを管理されることがおすすめです。
from openai import OpenAI
import os
from google.colab import userdata
os.environ["OPENAI_API_KEY"] = userdata.get("OPENAI_API_KEY")
次に請求書のイメージデータを入力します。今回はfreeeが配布している適格請求書のサンプルをpngイメージにしたものを利用します。
# クライアントの準備
client = OpenAI()
import base64
# 画像をbase64で読み込む関数
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode("utf-8")
# 画像をbase64で読み込む
base64_image = encode_image("/content/invoice.png")
読み込みができているか、GPT4に聞いて確認してみましょう。
# 画像の質問応答
response = client.chat.completions.create(
model="gpt-4-vision-preview",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "これはなんですか"},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
}
},
],
}
],
max_tokens=300,
)
print(response.choices[0].message.content)
アウトプットは下記のとおりです。
イメージデータを請求書と識別しています。記載内容についても理解ができているようです。次に記載内容を詳細に記述できるか試してみます。
# 画像の質問応答
response = client.chat.completions.create(
model="gpt-4-vision-preview",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "請求書の記載内容を項目ごとに記述してください"},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
}
},
],
}
],
max_tokens=300,
)
print(response.choices[0].message.content)
アウトプットは下記のとおりです。
残念ながら詳細な情報の抽出を行うことができませんでした。現行のVision APIはOCRとして利用することは想定されていないようです。
また、Vision機能はプライバシー保護が非常に厳格で、著名人であっても人物を特定することや、会社の公開情報についても住所など個人情報にもみえる情報の抽出は拒絶されることがあります。いまのところ、やや使い勝手が悪い印象です。
次はOCRで画像からテキストデータを抽出した場合に、そのテキストデータから構造化されたJSONデータを作成することができるかJSON modeを使って試してみます。
今回はここまで。
最後までお読みいただきありがとうございました。
この記事を書いている人
会計Vtuber/会計修士/公認会計士/公認情報システム監査人CISA/公認内部監査人CIA/AFP/G検定/元銀行員/大手監査法人でAIを用いた業務変革に取り組んでいました/メタバースやYouTubeにおいて会計の魅力を発信する会計Vtuberとして活動しています。
X: @TomiyamaLuca
会計人コースに記事を執筆しました🎉
会計人コースWebでは、会計プロフェッションを目指している若い方々向けて、生成AI時代の会計人材に必要とされるスキルについて記事を執筆しました。ぜひ御覧ください!
【未来予想図2035】監査現場と会計人に必要とされるスキルとは | 会計人コースWeb
この記事が気に入ったらサポートをしてみませんか?