「MiniCPM-V 4.5」を試す
MiniCPM-V 4.5 8Bのご紹介: マルチモーダルAIの限界を突破!
~ SOTA VL能力: OpenCompassでGPT-4o、Gemini 2.0 Pro、Qwen2.5-VL 72Bを凌駕!
~「イーグルアイ」動画処理:高リフレッシュレート&長尺動画理解のための96倍視覚トークン圧縮
~制御可能なハイブリッド高速/深層推論
~強力なOCR&文書解析: OmniDocBenchでGPT-4o & Gemini 2.5を上回るマルチモーダルAIの未来へようこそ👉
Huggingface|https://huggingface.co/openbmb/MiniCPM-V-4_5…
Github|https://github.com/OpenBMB/MiniCPM-o…
Gradio|http://101.126.42.235:30910/
MiniCPM、以前からちょいちょい見かけてはいたんだけど、試したことがなかったので改めて。なお、過去のバージョンも含めて、llama.cppのマルチモーダルにも対応してるみたい。
モデル
GPT−5によるモデルカードの翻訳
スマートフォン上で単一画像・複数画像・動画理解を可能にする GPT-4o レベルの MLLM
MiniCPM-V 4.5
MiniCPM-V 4.5 は、MiniCPM-V シリーズの最新かつ最も高性能なモデルです。このモデルは Qwen3-8B と SigLIP2-400M を基盤とし、総パラメータ数は 80 億です。従来の MiniCPM-V や MiniCPM-o モデルを大幅に上回る性能を発揮し、新たな有用な機能を導入しています。MiniCPM-V 4.5 の主な特徴は以下の通りです:
- 🔥 最先端のビジョン・ランゲージ能力
MiniCPM-V 4.5 は 8 つの人気ベンチマークを総合評価する OpenCompass において平均スコア 77.0 を達成しました。わずか 80 億パラメータで、GPT-4o-latest や Gemini-2.0 Pro などの広く利用される専有モデル、さらに Qwen2.5-VL 72B といった強力なオープンソースモデルをも凌駕し、30B 以下のパラメータ数における最も高性能な MLLM となっています。- 🎬 効率的な高リフレッシュレートと長時間動画理解
新しい統一 3D-Resampler によって画像と動画を処理し、動画トークンを 96 倍圧縮可能になりました。これにより、448x448 の 6 フレームを通常の 1,536 トークンではなく、わずか 64 トークンに圧縮できます。これにより、LLM 推論コストを増加させることなく大幅に多くの動画フレームを認識可能です。Video-MME、LVBench、MLVU、MotionBench、FavorBench などで、最先端の高リフレッシュレート(最大 10FPS)および長時間動画理解能力を効率的に実現します。- ⚙️ 制御可能なハイブリッド型高速/深層思考
MiniCPM-V 4.5 は、高頻度利用に適した効率的な高速思考と、より複雑な問題解決に適した深層思考の両方をサポートします。ユーザーシナリオに応じて効率と性能のトレードオフをカバーできるよう、このモードを高精度に切り替えることが可能です。- 💪 強力な OCR、ドキュメント解析その他
LLaVA-UHD アーキテクチャを基盤とし、MiniCPM-V 4.5 は最大 180 万ピクセル(例:1344x1344)の任意アスペクト比の高解像度画像を処理可能で、他の多くの MLLM よりも 4 倍少ないビジュアルトークンで済みます。モデルは OCRBench において業界トップの性能を達成し、GPT-4o-latest や Gemini 2.5 を超えています。また、一般的な MLLM の中で OmniDocBench における PDF ドキュメント解析でも最先端の性能を記録しました。さらに、最新の RLAIF-V および VisCPM 技術を基盤に、信頼性の高い動作を実現し、MMHal-Bench において GPT-4o-latest を上回り、30 を超える言語での 多言語機能 をサポートします。- 💫 容易な利用
MiniCPM-V 4.5 は様々な方法で容易に利用できます:(1) llama.cpp および ollama によるローカルデバイス上の効率的な CPU 推論、(2) int4、GGUF、AWQ 形式の量子化モデル(16 サイズ)、(3) SGLang および vLLM による高スループットかつメモリ効率の良い推論、(4) Transformers および LLaMA-Factory を利用した新しいドメインやタスクへのファインチューニング、(5) ローカル WebUI デモ、(6) iPhone や iPad 上で動作する最適化された iOS アプリ、(7) サーバー 上でのオンラインウェブデモ。完全な利用方法は Cookbook を参照してください。評価
referred from https://huggingface.co/openbmb/MiniCPM-V-4_5
referred from https://huggingface.co/openbmb/MiniCPM-V-4_5事例
referred from https://huggingface.co/openbmb/MiniCPM-V-4_5 and translated into Japanese by kun432
referred from https://huggingface.co/openbmb/MiniCPM-V-4_5 and translated into Japanese by kun432
referred from https://huggingface.co/openbmb/MiniCPM-V-4_5 and translated into Japanese by kun432MiniCPM-V 4.5 を iPad M4 上に iOS デモ として展開しました。デモ動画は編集なしのスクリーン録画です。
referred from https://huggingface.co/openbmb/MiniCPM-V-4_5
ライセンス
モデルライセンス
- このリポジトリ内のコードは Apache-2.0 ライセンスの下で公開されています。
- MiniCPM-V シリーズのモデル重みの使用は MiniCPM Model License.md に厳格に従う必要があります。
- MiniCPM のモデルと重みは学術研究において完全に無償で利用可能です。登録のためのアンケートに回答すると、MiniCPM-V 4.5 の重みは商用利用も無償で可能になります。
免責事項
- LMM として、MiniCPM-V 4.5 は大量のマルチモーダルコーパスを学習することでコンテンツを生成しますが、理解、個人的な意見の表明、価値判断を行うことはできません。MiniCPM-V 4.5 が生成した内容は開発者の見解や立場を表すものではありません。
- データセキュリティの問題、世論リスク、誤用・誤伝達・拡散などのリスクや問題を含め、MiniCPM-V モデルの利用によって生じるあらゆる問題について、当方は責任を負いません。
モデルのライセンスは独自。商用利用もできるようだけど、DAUとか台数とかの条件+登録フォーム+クレジット明記とか、結構細かく書いてある。必要ならば参照されたし。
Colaboratory L4で試す。
コードを見る限り、特に要件はないけど、Flash Attentionには対応してるようなのでそれだけ追加。
!pip install flash-attn --no-build-isolation
Successfully installed flash-attn-2.8.3
モデルとトークナイザをロード
import torch
from PIL import Image
from transformers import AutoModel, AutoTokenizer
torch.manual_seed(100)
model_repo = "openbmb/MiniCPM-V-4_5" # または openbmb/MiniCPM-o-2_6
model = AutoModel.from_pretrained(
model_repo,
trust_remote_code=True,
attn_implementation='flash_attention_2', # sdpa または flash_attention_2。eagerは不可。
torch_dtype=torch.bfloat16
)
model = model.eval().cuda()
tokenizer = AutoTokenizer.from_pretrained(
model_repo,
trust_remote_code=True
)
VRAMは約18GB程度使用。
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA L4 Off | 00000000:00:03.0 Off | 0 |
| N/A 51C P0 28W / 72W | 18073MiB / 23034MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
デモ用の画像はGitHubレポジトリにあるのでそれを使う。
!wget https://raw.githubusercontent.com/OpenBMB/MiniCPM-V/refs/heads/main/assets/minicpmo2_6/show_demo.jpg
こういう画像
image = Image.open('show_demo.jpg').convert('RGB')
image
ではこの画像を使って推論。Thinkingモードを指定できるが、まずはなしで。
image = Image.open('show_demo.jpg').convert('RGB')
# チャットの最初のターン
question = "写真に写っている地形は何ですか?"
msgs = [{'role': 'user', 'content': [image, question]}]
answer = model.chat(
msgs=msgs,
tokenizer=tokenizer,
enable_thinking=False, # `enable_thinking=True` なら thinkingモードが有効化される
)
print(answer)
print("=" * 20)
# チャットの次のターン。会話履歴をマルチターン会話のコンテキストとして渡すことができる。
msgs.append({"role": "assistant", "content": [answer]})
msgs.append({"role": "user", "content": ["ここを旅行する際に注意すべきことは何ですか?"]})
answer = model.chat(
msgs=msgs,
tokenizer=tokenizer
)
print(answer)
結果
写真には、桂林(中国廣西)の名景「漓江」の典型的な喀斯特地形が写っています。
この地域は、独特の喀斯特岩石(カルスト地形)と平静な川、青々とした緑木、朝焼けや夕焼けの美しい色調で知られています。
画像では、高らかな喀斯特山々が川の反光面に映り、鮮やかな緑の樹木と柔らかい空模様が搭配し、極めて幻想的な風景が展開されています。
====================
漓江を旅行する際には、以下の点に注意してください:
1. **観光船の選択**:漓江では観光船が多いため、観光料金や船の内容(観光ガイド付きなど)を確認しましょう。
2. **季節と天気**:漓江は春・秋が観光のピークですが、雨季(夏)は豪雨や洪水のリスクがあるため、旅行計画時に天気予報を確認してください。
3. **自然保護への協力**:喀斯特地形は脆弱なため、川の清潔さや自然環境へのご配慮を心がけてください。ゴミを適切に処理し、周囲の景観を尊重しましょう。
4. **交通とアクセス**:桂林は観光客の中心地ですが、混雑したバスやタクシーの混雑を避けるために、早めの予約や現地の交通ルールを理解することが重要です。
5. **観光地の混雑**:流行地であるため、特に旅行のピーク時期は混雑する可能性があります。足够な時間を確保し、観光地を楽しむことを心がけてください。
Thinkingモードを有効にしてみる。
image = Image.open('show_demo.jpg').convert('RGB')
question = "写真に写っている地形は何ですか?"
msgs = [{'role': 'user', 'content': [image, question]}]
answer = model.chat(
msgs=msgs,
tokenizer=tokenizer,
enable_thinking=True # Thinkingモードを有効化
)
print(answer)
print("=" * 20)
msgs.append({"role": "assistant", "content": [answer]})
msgs.append({"role": "user", "content": ["ここを旅行する際に注意すべきことは何ですか?"]})
answer = model.chat(
msgs=msgs,
tokenizer=tokenizer,
enable_thinking=True # Thinkingモードを有効化
)
print(answer)
結果。Thinkingは中国語もしくは英語で行われるみたい。回答もちょっと中国語混じりな感がある(たまに回答そのものが中国語で出力されたりもする)
<think>
那么,让我先分析一下这张图片。画面中显示有独特的喀斯特地貌,也就是那些尖锐、高低不平的山峰。还有河流或湖泊,水面呈现出山峰和天空的倒影。植被包括茂密的绿色植物,天空中有日出或日落,色彩鲜艳。
让我确认一下主要地形特征。喀斯特地貌在石灰岩地区很常见,特点是崎岖的山峰。所以这些地形是喀斯特地貌,通常与桂林地区的景观相关。水体为河流或湖泊,周围有植被和山脉。
所以,这张图片展示的是喀斯特地貌,包括独特的山峰、平静的水面以及周围的绿色植被。
</think>
地形は、特徴的な尖锐な山峰(喀斯特地形)と平静な水面(河川または湖)を特徴としている。
====================
<think>
好的,我需要回答旅行者在参观这片喀斯特地形时应该注意什么。嗯,让我先理清这里涉及的步骤。首先,我应该从图片中提取关键信息。这片区域是典型的喀斯特地貌,有独特的山峰和宁静的水面,可能是河流或湖泊。喀斯特地貌通常由石灰岩构成,这意味着可能会有洞穴、地下河等自然特征,这些都可能很有吸引力,但需要小心。此外,由于这些地区通常位于山区,地形可能崎岖不平,所以徒步或在偏远地区旅行时要小心。水域附近可能存在滑溜的岩石或强流。对于游客来说,了解当地的天气模式很重要,因为山区可能会有迅速变化的天气。此外,保护自然环境同样重要,这意味着不乱扔垃圾并尊重当地生态系统。也许还有一些安全提示,比如穿舒适的鞋子和做好防晒。让我再确认一下:喀斯特地貌——尖锐的山峰,宁静的水面,可能是河流或湖泊。旅行注意事项:崎岖的地形、滑溜的岩石、迅速变化的天气、保护环境、安全装备(鞋子、防晒)。是的,这似乎涵盖了关键点。
</think>
地形は、特徴的な尖锐な山峰(喀斯特地形)と平静な水面(河川または湖)を特徴としている。旅行者は、崎岖な地形、滑りやすい岩石、迅速な天候変化、環境保護、安全な靴と日焼け止めなど、必要な安全対策に注意しなければならない。
一応日本語訳(DeepL)
<think>
それでは、まずこの画像を分析してみましょう。画面には独特のカルスト地形、つまり鋭く尖った高低差のある峰々が映っています。さらに河川や湖があり、水面には峰々と空が映り込んでいます。植生は緑豊かな植物で覆われ、空には日の出または日没が鮮やかな色彩で描かれています。
主な地形特徴を確認しましょう。カルスト地形は石灰岩地域に多く見られ、特徴的なのは険しい峰々です。したがって、これらの地形はカルスト地形であり、通常は桂林地域の景観に関連付けられます。水域は河川または湖で、周囲には植生と山々が広がっています。
つまり、この画像はカルスト地形を表現しており、特徴的な峰々、静かな水面、そして周囲の緑豊かな植生が含まれています。
</think>
地形は、特徴的な尖锐な山峰(喀斯特地形)と平静な水面(河川または湖)を特徴としている。
====================
<think>
はい、旅行者がこのカルスト地形を訪れる際に注意すべき点について回答します。まず、ここに関わる手順を整理しましょう。最初に、画像から重要な情報を抽出する必要があります。この地域は典型的なカルスト地形であり、独特な峰々と静かな水面(川または湖)が見られます。カルスト地形は通常石灰岩で構成されているため、洞窟や地下河川などの自然景観が存在し、魅力的ですが注意が必要です。また、これらの地域は山岳地帯に位置することが多いため、地形は起伏に富んでおり、ハイキングや僻地での移動には注意を払う必要があります。水域周辺には滑りやすい岩や急流が存在する可能性があります。山岳地帯では天候が急変する可能性があるため、観光客は現地の気象パターンを理解することが重要です。さらに、自然環境の保護も同様に重要であり、これはゴミのポイ捨てをせず、現地の生態系を尊重することを意味します。快適な靴を履くことや日焼け対策など、その他の安全上の注意も必要かもしれません。確認します:カルスト地形——鋭い峰々、静かな水面(河川または湖)。旅行上の注意点:険しい地形、滑りやすい岩、急変する天候、環境保護、安全装備(靴・日焼け対策)。はい、主要なポイントが網羅されているようです。
</think>
地形は、特徴的な尖锐な山峰(喀斯特地形)と平静な水面(河川または湖)を特徴としている。旅行者は、崎岖な地形、滑りやすい岩石、迅速な天候変化、環境保護、安全な靴と日焼け止めなど、必要な安全対策に注意しなければならない。
数回推論させたあとのVRAMはやや増加してるけどだいたい同じぐらいで推移する感じ。
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA L4 Off | 00000000:00:03.0 Off | 0 |
| N/A 52C P0 29W / 72W | 18545MiB / 23034MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
自分の手持ちの画像でも試してみる。Thinkingモードは有効で。
!wget https://storage.googleapis.com/zenn-user-upload/82968d23b6c5-20250228.jpg -O kobe.jpg
!wget https://storage.googleapis.com/zenn-user-upload/caa14aef4b7e-20250226.png -O book.png
!wget https://storage.googleapis.com/zenn-user-upload/4697c3aef653-20250226.png -O invoice.png
日本の風景
image = Image.open('kobe.jpg').convert('RGB')
question = "この画像について詳しく説明して。"
msgs = [{'role': 'user', 'content': [image, question]}]
answer = model.chat(
msgs=msgs,
tokenizer=tokenizer,
enable_thinking=True, # Thinkingモードを有効化
)
print(answer)
出力がすべて中国語になってしまった。
<think>
好的,我需要描述这张图片。嗯,让我先从主要元素开始。前景是蓝色的水面,看起来像是港口或海湾。水面平静,映射出周围的建筑和天空。
那么,背景中有一些主要的建筑。最显眼的是一个高高的红色塔,这是大阪塔,对吧?它是一个扭曲、网状结构的塔,非常独特。旁边有一座白色的现代建筑,可能是酒店或办公楼,它的顶部有玻璃部分。再往右边,有一座白色、网状结构的建筑物,看起来像是体育设施,也许是一个体育场或竞技场。
还有几座不同的高层建筑,有不同的设计和高度。左侧有一些白色和灰色的建筑,它们看起来是住宅或商业建筑。远处还能看到一些绿色的山丘,为城市景观增添了一些自然元素。
天空是清澈的蓝色,没有云,这说明是晴天。在水面上,有一艘白色的船停靠在码头上,码头有柱子和建筑,可能是码头或港口设施。
让我确保涵盖了所有元素:水面、码头、船只、高大的红色塔(大阪塔)、白色网状建筑、高层建筑、山丘、晴朗的天空。这些都出现在场景中。
所以,总结一下:这张图片展示了一个港口区域,前景是平静的蓝色水面,背景是大阪塔、白色网状体育建筑、高层建筑和远处的山丘。码头和船只增添了港口的氛围。
</think>
这张图片展示了一个港口区域,前景是平静的蓝色水面,背景是大阪塔、白色网状体育建筑、高层建筑和远处的山丘。码头和船只增添了港口的氛围。
日本語訳
<think>
はい、この画像の説明をお願いします。まず主要な要素から始めましょう。前景には青い水面が広がり、港や湾のように見えます。水面は穏やかで、周囲の建物や空が映っています。
背景にはいくつかの主要な建物があります。最も目立つのは高い赤い塔で、大阪タワーですよね?ねじれた網目状の構造で非常に独特です。その隣には白い現代的な建物があり、ホテルかオフィスビルで、頂部にガラス張りの部分があります。さらに右側には、白い網目構造の建物があり、スポーツ施設のように見えます。おそらくスタジアムかアリーナでしょう。
他にも様々なデザインと高さの超高層ビルが数棟見えます。左側には白と灰色の建物が並び、住宅か商業施設のように見えます。遠くには緑の丘も見え、都市景観に自然の要素を加えています。
空は澄んだ青色で雲ひとつなく、晴天であることを示しています。水面には、白い船が埠頭に停泊している。埠頭には柱や建物があり、おそらく埠頭や港湾施設だろう。
すべての要素を網羅していることを確認しよう:水面、埠頭、船、高い赤い塔(大阪タワー)、白い網目状の建物、高層ビル、丘、晴れた空。これらはすべてシーンに現れている。
では、まとめると:この画像は港湾エリアを描いており、前景には穏やかな青い水面、背景には大阪タワー、白い網目状のスポーツ施設、高層ビル群、そして遠くに丘陵地帯が広がっています。埠頭と船が港の雰囲気を醸し出しています。
</think>
この画像は港湾エリアを描いており、前景には穏やかな青い水面、背景には大阪タワー、白い網目状のスポーツ施設、高層ビル群、そして遠くに丘陵地帯が広がっています。埠頭と船が港の雰囲気を醸し出しています。
プロンプトで明示する
image = Image.open('kobe.jpg').convert('RGB')
question = "この画像について日本語で詳しく説明して。"
msgs = [{'role': 'user', 'content': [image, question]}]
answer = model.chat(
msgs=msgs,
tokenizer=tokenizer,
enable_thinking=True, # Thinkingモードを有効化
)
print(answer)
<think>
好的,所以我需要描述这张照片。嗯,让我先仔细观察一下所有元素。首先,前景是水面,水面很平静,反射着周围的景象。接着,在背景中,有一些建筑物和地标。让我看看:有一个非常高的红色塔楼,看起来像是铁塔,右边有一个白色网格状的建筑,可能是一个体育场或娱乐设施。还有几栋现代高层建筑,看起来像是办公楼或酒店。还有一些较低的白色建筑,可能是商业或住宅建筑。在前景,有一条码头,停靠着几艘船,包括一艘白色的船只。天空是晴朗的蓝色,可以看到远处的山丘。水边有一些建筑物,包括一个白色的多层建筑和一个更现代的结构。让我确保没有遗漏任何细节。总体而言,这是一个港口或滨水区的城市景观,有显著的地标和船只。是的,这涵盖了所有元素。
</think>
この画像は、晴れた日を示す青い空の下に都市港湾の風景を示している。前景には、平静で水面が反射している水路があり、その上には船が停靠着。背景には、高さの違いがある複数の都市景観が展示されている。中心に赤い、细長いタワー(铁塔)があり、白い網状の構造物(可能にスポーツ施設)と、高層建築物(オフィスやホテル)が目立つ。水辺には、白い多層建物やより現代的な構造物が並んでいる。远处には山が見え、全体の都市と自然のコラボレーションを示しています。
書籍の表紙
image = Image.open('book.png').convert('RGB')
question = "この画像について日本語で詳しく説明して。"
msgs = [{'role': 'user', 'content': [image, question]}]
answer = model.chat(
msgs=msgs,
tokenizer=tokenizer,
enable_thinking=True, # Thinkingモードを有効化
)
print(answer)
<think>
好的,我需要仔细分析这张图片,描述这本日文书籍的封面细节。首先,封面分为上下两部分。上半部分是白色背景,标题是「ドキュメント・コミュニケーションの全体観」(文档・沟通的总体观点),副标题说明了内容是关于「提案書、報告書、会議資料の「実」「制作スピード」「上げる」メカニズム」(提案书、报告书、会议资料的“实”、提高制作速度的机制)。作者是「上卷 原則と手順 中川伸夫」(上卷 原则与步骤 中川伸夫)。
在白色区域下方,有一个流程图或信息图,包含一些方框和箭头。文字有「ロジカルシンボン」(逻辑符号)、「文書を速く読む」(快速阅读文档)、「書籍を早く読む」(快速阅读书籍)、「提案書書く」(写提案书)、「提案書書く」(再次提到提案书?)等等。还有一个方框标注为「試合」(比赛)和「試合_practice」(比赛练习),以及一个绿色方框标注为「手順」(步骤)。
下半部分是绿色背景,上面写着「コミュニケーションはすべて解・動・早で進めよう」(沟通全部都要用分解、行动、快速推进),下面还有一行小字「解ってたい・動いていたくない・できるだけ早く」(想理解、不想行动、尽可能快地)。
让我再仔细检查一下细节,确保没有遗漏。标题和副标题位于顶部,作者名字在白色区域的下方,流程图在中间,绿色区域的文字在最底部。流程图中的方框包括「ロジカルシンボン」、「文書を速く読む」、「書籍を早く読む」、「提案書書く」,以及一个标注为「試合」和「手順」的绿色方框。绿色区域的标题是「コミュニケーションはすべて解・動・早で進めよう」,下面的小字是「解ってたい・動いていたくない・できるだけ早く」。
是的,就是这样。封面的设计很清晰,白色和绿色区域分明,文字和图表都清晰可见。
</think>
この画像は、日文書籍のカバーを示しています。カバーは主に白と緑の色域で分かれています。
- **上半分(白地)**:
- タイトルは「ドキュメント・コミュニケーションの全体観」(文档・沟通的总体观点)と書かれています。
- 副タイトルは「提案書、報告書、会議資料の「実」「制作スピード」「上げる」メカニズム」(提案书、报告书、会议资料的“实”、提高制作速度的机制)です。
- 作者は「上卷 原則と手順 中川伸夫」(上卷 原则与步骤 中川伸夫)です。
- 流図や情報図(いくつかの方框と矢印が含まれている)も存在し、内容には「ロジカルシンボン」、「文書を速く読む」、「書籍を早く読む」、「提案書書く」、「試合」、「試合_practice」、「手順」などの語が書かれています。
- **下半分(緑地)**:
- 題名は「コミュニケーションはすべて解・動・早で進めよう」(沟通全部都要用分解、行动、快速推进)です。
- 小文字の補足説明は「解ってたい・動いていたくない・できるだけ早く」(想理解、不想行动、尽可能快地)です。
全体として、カバーは、文档・沟通の技術・手順、特に高效的さや速度を重視する内容を伝えるように設計されています。
ダミーの請求書
image = Image.open('invoice.png').convert('RGB')
question = "この画像について日本語で詳しく説明して。"
msgs = [{'role': 'user', 'content': [image, question]}]
answer = model.chat(
msgs=msgs,
tokenizer=tokenizer,
enable_thinking=True, # Thinkingモードを有効化
)
print(answer)
<think>
好的,我需要详细说明这张日本采购申请单。嗯,让我先从顶部开始。标题写着「御請求書」,意思是采购申请书。然后有请求书编号:INV-2024-0820。
接下来是供应商信息。公司是「模範商事株式会社」,地址是〒100-0001 東京都千代田区見本町1-1。电话是03-1234-5678,传真也是03-1234-5679。旁边有个红色圆形印章,上面写着「之印」。
然后是收货方信息。收货公司是「範例工業株式会社」,收货人是御中。下面写着「下記の通りご請求申し上げます」,意思是请按照以下内容申请。
现在是项目明细表,有三行:
第一行:特選和紙 (A4サイズ) — 数量1000,单价¥50,金额¥50,000。
第二行:高級墨 (松煙) — 数量20,单价¥2,000,金额¥40,000。
第三行:筆セット (各種) — 数量50,单价¥1,000,金额¥50,000。
小计是¥140,000。消费税(10%)是¥14,000。合计金额是¥154,000。
备注部分有三条:
1. お支払いは請求書発行日より30日以内にお願いいたします。
2. 換达手数料は貴社負担でお願いいたします。
3. 本書に関するお問い合わせは下記担当者までご連絡ください。
担当:「営業部 見本太郎」。
让我再检查一遍细节。标题、编号、供应商信息、收货方信息、明细表、小计、消费税、合计金额,备注,担当人。都包含在内。
所以,这张采购申请书的主要信息包括标题、编号、供应商详情、收货方信息、项目明细(包括数量、单价、金额)、小计、消费税、合计金额、备注和担当人。
</think>
这张图片展示了一份日本采购申请单(采购申请书)。以下是详细说明:
1. **标题与编号**:
- 标题为「御請求書」(采购申请书)。
- 请求书编号为:INV-2024-0820。
2. **供应商信息**:
- 公司名称:模範商事株式会社。
- 地址:〒100-0001 東京都千代田区見本町1-1。
- 电话:03-1234-5678。
- 传真:03-1234-5679。
- 印章:红色圆形印章,文字为「之印」。
3. **收货方信息**:
- 公司名称:範例工業株式会社。
- 收货人:御中(敬称,表示“先生”)。
4. **项目明细表**:
- 表格包含三个项目,列出数量、单价和金额:
- **特選和紙(A4サイズ)**:数量1000,单价¥50,金额¥50,000。
- **高級墨(松煙)**:数量20,单价¥2,000,金额¥40,000。
- **筆セット(各種)**:数量50,单价¥1,000,金额¥50,000。
5. **金额总计**:
- 小计:¥140,000。
- 消费税(10%):¥14,000。
- 合计金额:¥154,000。
6. **备注**:
- 1. お支払いは請求書発行日より30日以内にお願いいたします。(请在请求书发行日后的30天内付款。)
- 2. 換达手数料は貴社負担でお願いいたします。(请贵公司承担换货手续费。)
- 3. 本書に関するお問い合わせは下記担当者までご連絡ください。(有关本书的咨询,请联系以下负责人。)
7. **担当者**:
- 営業部 見本太郎(营业部 见本太郎)。
这份采购申请书包含了标准的采购文件要素:供应商和收货方信息、按项目列出的明细、总金额(包括税款)、备注以及负责人的联系信息。
Thinkingモード無効の場合のそれぞれの結果も。
日本の風景
この画像は、日本の神戸市(Hyogo)の港湾エリアを示している。前景には静かな海が広がり、水面に建物や船の倒影が映っている。背景には高層ビルやタワーが並び、都市の景観を表している。
最も目立つのは赤い「潮見塔(Kaiyukan Tower)」である。これは神戸のランドマークであり、高さ約108メートル(地上部100メートル)のタワーで、観光客が夜景を見下ろすことができる。塔の近くには白い、网状の建築物が見える。これは「Wave Pavilion」と呼ばれる施設で、夜になると光秀が施設全体を照らし、幻想的な風景を作る。
画像左側には白い現代的な高層ビルがあり、その先には山がそびえている。右側には白い船が停泊しており、港湾としての活気に満ちた雰囲気を増している。
全体として、晴れた青空の下、自然と都市が調和し合っている。この画像は神戸港の繁荣と美しさを捉えている。
書籍の表紙
この画像は、一冊の日本語の本の表紙を示しています。表紙は白地で、上半分はタイトルや内容の説明が記載されています。タイトルは「ドキュメント・コミュニケーションの全体観」と書かれており、「文書作成、提案書、会議資料の「宝」「制作スピード」を上げるメカニズム」などの副題もついています。下部には「上卷 原則と手順 中川邦夫」という著者情報が記載されています。
表紙の中央付近には、図形が描かれています。この図は「ロジカルシンボン」、「文書を読む技術」、「情報交換の技術」、「作成スピード向上」などの枠が配置されており、これらは「技法(Art)」「試合演练(Practice)」「手順(Process)」と关联されているようです。図の右側には「試合演练(Practice)」と「手順(Process)」がそれぞれ白い枠に記載されており、「技法(Art)」は青色の枠に書かれています。
表紙の下部には緑色の横長の枠があり、「コミュニケーションはすべて解・動・早で進めよ」というタイトルが大きく書かれています。さらにその下には「解っていたか、動いていたか、できるだけ早く」という副題が小さく記載されています。
全体的に、この本は文書作成やコミュニケーションの効率化についての理論や実践的な技術を解説するものであることが伺えます。図形や枠の配置は、各技術や手順の関連性を視覚的に表現しているようです。
ダミーの請求書
この画像は「御請求書」として、模範商事株式会社が宛先の範例工業株式会社に発行した請求書です。
### 構成要素について
- **タイトル**
「御請求書」(請求書番号:INV-2024-0820)
もう一度、タイトルは「御請求書」で、番号はINV-2024-0820です。
- **発行元情報**
模範商事株式会社
株式会社名の「之印」は赤い丸印で表示されています。
住所:〒100-0001 東京都千代田区見本町1-1
電話番号:03-1234-5678
FAX:03-1234-5679
- **宛先情報**
范例工業株式会社 御中
下記の通りご請求申し上げます。
- **請求品目詳細**
| 項目 | 数量 | 単価 | 金額 |
|---------------------|------|--------|---------|
| 特選和紙(A4サイズ)| 1000 | ¥50 | ¥50,000 |
| 高級墨(松煙) | 20 | ¥2,000 | ¥40,000 |
| 笔セット(各種) | 50 | ¥1,000 | ¥50,000 |
- **合計金額**
小計:¥140,000
消費税(10%):¥14,000
合計金額:¥154,000
- **備考**
1. お支払いは請求書発行日より30日以内にお願いいたします。
2. 売出手数料は貴社負担でお願いいたします。
3. 本書に関するお問い合わせは下記担当者までご連絡ください。
- **担当者**
担当:営業部 見本太郎
### 要約
この請求書は模範商事株式会社が、范例工業株式会社に特選和紙(A4サイズ)、高級墨(松煙)、筆セット(各種)を納品したことを基に、合計¥154,000(税込)を請求しています。お支払いは請求書発行日から30日以内、且売出手数料は範例工業株式会社が負担することとされています。
ざっと見た感じ、日本語の文字はある程度読めてるように思える。日本の知識は多少はあるかなーというところ。あと、Thinkingモードだけど、有効にした場合、おそらくThinkingの中国語での出力トークンに引きずられて、回答の漢字や表現が中国語寄りになってるような印象がある。日本語で使うならThinkingモードは無効にしたほうが出力が安定するかな。
一応動画もできるみたいだけど今回はパス。興味があればモデルカードのサンプルを参照。
まとめ
思いの外、読み取りは普通に使えて日本語もまあいけそう。Reasoningについては、おそらく認識精度自体は上がるのかもしれないけど、日本語での利用だと出力が少し厳しいかなーという感があるので、無効して使うがいいかもね。
今まで試してなかったのだけど、MiniCPMシリーズはざっくりこんな感じみたい。
- MiniCPM: テキスト入力
- MiniCPM-V: 画像/テキスト入力
- MiniCPM-o: 画像・音声・テキストの入出力
オンデバイス向けに効率化、というのがテーマっぽいので、比較的うごかしやすいサイズが中心に見えるので、今後も期待できそう。他のモデルも試してみたい。
llama.cppで対応されたみたい。