Zhipu AIからGLM-4.6V-Flashがリリースされていたので、漢文(古典中国語)OCRとして使えるのか、試してみることにした。ただし、transformersはver5以降が必要となったため、とりあえず5.0.0rc2を使った。
#! /usr/bin/python3
#pip3 install vllm
#pip3 install transformers==5.0.0rc2
img="http://kanji.zinbun.kyoto-u.ac.jp/db-machine/toho/L/B0010001.jpg"
import os
from transformers import pipeline
nlp=pipeline("image-text-to-text","zai-org/GLM-4.6V-Flash",max_new_tokens=2048,device_map="auto")
d=nlp([{"role":"user","content":[{"type":"image","image":img},
{"type":"text","text":"閱讀垂直文言文(含夾註),逐行輸出。"}]}])
print(d[0]["generated_text"][1]["content"])
『漢書零片』を読み込ませてみたところ、私(安岡孝一)の手元では以下の結果が出力された。
<think>用户现在需要处理的是阅读垂直的文言文并逐行输出。首先,需要观察图片中的文字是竖排的,从右到左、从上到下排列。首先看每一列的内容,然后逐行解析。
首先看最右边的列,然后依次左移。先识别每一行的文字,注意竖排文本的结构,通常是从右至左,每列从上到下。现在仔细看图片中的文字:
第一列(最右边):
因章事舉直言極諫並見郎從官展盡其
意加於往前以明示四方使天下咸知主
上聖明不以言罪下也若此則流言消釋
疑惑著明鳳白行其策欽之補過將美皆
此類也師古曰優游不仕以壽終欽子及
昆弟支屬至二千石者且十人欽兄緩前
免太常以列戾奉朝請成帝時乃薨子業
嗣業有材能以列戾還復爲太常數言
失不事權貴與丞相翟方進衹尉定賓
淳于長不平後業坐法免官復爲函
都尉會定戾長有罪當就國長舅紅
戾立與業書曰誠哀老姊垂白隨
出關師古曰垂白者言白髮也
下垂也無狀猶言不肖願勿復用前事相
侵定陵戾旣出關伏罪復發蘇林曰長與許
戚下雒陽獄丞相史搜得紅陽戾書奏業
傳請不劄屬請爲不劄立坐免就國其春丞相
方進薨業上書言方進本與長深結厚異
相稱薦音師古曰更長陷大惡獨得不坐苟
现在需要按照从右到左,从上到下的顺序,逐行输出。需要确认每行的内容,注意文字的排版和断句。
现在整理每一行,确保顺序正确。首先,最右侧的第一行是“因章事舉直言極諫並見郎從官展盡其”,然后下一行“意加於往前以明示四方使天下咸知主”,接着“上聖明不以言罪下也若此則流言消釋”,然后“疑惑著明鳳白行其策欽之補過將美皆”,然后“此類也師古曰優游不仕以壽終欽子及”,接着“昆弟支屬至二千石者且十人欽兄緩前”,然后“免太常以列戾奉朝請成帝時乃薨子業”,然后“嗣業有材能以列戾還復爲太常數言”,接着“失不事權貴與丞相翟方進衹尉定賓”,然后“淳于長不平後業坐法免官復爲函”,然后“都尉會定戾長有罪當就國長舅紅”,然后“戾立與業書曰誠哀老姊垂白隨”,然后“出關師古曰垂白者言白髮也”,然后“下垂也無狀猶言不肖願勿復用前事相”,然后“侵定陵戾旣出關伏罪復發蘇林曰長與許”,然后“戚下雒陽獄丞相史搜得紅陽戾書奏業”,然后“傳請不劄屬請爲不劄立坐免就國其春丞相”,然后“方進薨業上書言方進本與長深結厚異”,最后“相稱薦音師古曰更長陷大惡獨得不坐苟”。
需要检查是否有遗漏或顺序错误,根据竖排文本的阅读习惯,从右到左,从上到下,所以逐行输出时按这个顺序。现在确认每个部分的文字,然后输出。</think>
<|begin_of_box|>因章事舉直言極諫並見郎從官展盡其
意加於往前以明示四方使天下咸知主
上聖明不以言罪下也若此則流言消釋
疑惑著明鳳白行其策欽之補過將美皆
此類也師古曰優游不仕以壽終欽子及
昆弟支屬至二千石者且十人欽兄緩前
免太常以列戾奉朝請成帝時乃薨子業
嗣業有材能以列戾還復爲太常數言
失不事權貴與丞相翟方進衹尉定賓
淳于長不平後業坐法免官復爲函
都尉會定陵戾長有罪當就國長舅紅
戾立與業書曰誠哀老姊垂白隨
出關師古曰垂白者言白髮也
下垂也無狀猶言不肖願勿復用前事相
侵定陵戾旣出關伏罪復發蘇林曰長與許
戚下雒陽獄丞相史搜得紅陽戾書奏業
傳請不劄屬請爲不劄立坐免就國其春丞相
方進薨業上書言方進本與長深結厚異
相稱薦音師古曰更長陷大惡獨得不坐苟<|end_of_box|>
NVIDIA RTX 3080 Laptop (16GB)で4時間ほどかかってしまったのだが、残念ながら夾註がうまく読めていない。というか、夾註というものを、そもそも理解できていないようだ。元のGLM-4.6Vの方も試してみたいけど、さすがに動かせる環境がないなあ。