81 lines
4.0 KiB
Markdown
81 lines
4.0 KiB
Markdown
# ReadImage
|
|
|
|
画像対応ワーカーが画像を直接受け取るか、対応ワーカーに問い合わせて説明文を受け取る。
|
|
|
|
## 基本
|
|
|
|
```js
|
|
ReadImage({ file_path: "input/screenshot.png" })
|
|
// → 画像内の文字・図表・物体について自然言語の説明が返る
|
|
```
|
|
|
|
BrowseWeb で開いたページに載っていた画像は `source/images/` に自動で溜まる。そのまま渡せば読める。ページを開き直してスクリーンショットを撮る必要はない。索引 `source/index.jsonl` の `kind: "image"` の行に、どのページに載っていた画像かが入っている(詳細は `ReadToolDoc({ name: "BrowseWeb" })`)。
|
|
|
|
```js
|
|
ReadImage({ file_path: "source/images/example.com-figure.png" })
|
|
```
|
|
|
|
## 動作要件
|
|
|
|
このツールが使える条件は 2 通りある。
|
|
|
|
| 条件 | 何が返るか |
|
|
|---|---|
|
|
| 実行中の worker が `capabilities.image: true` | 画像そのものが会話に注入される。以後の発言で画像を見ながら考えられる |
|
|
| 実行中の worker は非対応だが `llm.offload.image: true` かつ `capabilities.image: true` の worker が居る | 対応 worker が書いた**説明文だけ**が返る。画像は会話に載らない |
|
|
|
|
どちらにも当てはまらないとき、このツールはワークスペースで許可されていても
|
|
function definition から自動除外される。
|
|
|
|
### 回した実行(委譲モード)の性質
|
|
|
|
- **1 回きりの問い合わせ**。画像はエージェントのコンテキストに載らない
|
|
- 「さっきの画像の右下は何色だった?」のような**追い質問はできない**。知りたいことは
|
|
`prompt` に全部書く。`prompt` を省くと汎用の説明が返るだけで、価値が大きく落ちる
|
|
- 観点を変えて聞きたくなったら、`prompt` を変えてもう一度呼ぶ
|
|
- 呼び出し先は `capabilities.image: true` の worker から空きのある台が自動で選ばれる。全台が埋まって
|
|
いれば空くまで待つ(タスクを中断すれば待ちからも抜ける)
|
|
- ブラウザ操作の分割スクリーンショット(既定で最大 10 枚)をこのモードで読むと、
|
|
1 枚ずつ独立した説明が 10 個返る。「この表の続きは次の画像」といった**横断した
|
|
判断はできない**。必要なら 1 枚ずつ観点を指定して呼ぶ
|
|
|
|
### prompt の書き方
|
|
|
|
```js
|
|
// 悪い例(委譲モードでは特に価値が低い)
|
|
ReadImage({ file_path: "input/chart.png" })
|
|
|
|
// 良い例
|
|
ReadImage({
|
|
file_path: "input/chart.png",
|
|
prompt: "縦軸の単位と、2024 年のバーの値を読み取って。凡例の項目名も全部挙げて。",
|
|
})
|
|
```
|
|
|
|
## 用途
|
|
|
|
- スクリーンショットの内容説明
|
|
- 図・グラフ・チャートの読み取り
|
|
- ページレイアウトの確認
|
|
- 写真の被写体・状況把握
|
|
|
|
## 文字読み取りについて
|
|
|
|
- ある程度の OCR は可能だが、**精度が要求される文字情報**には別途 OCR ツールの使用を検討
|
|
- 数字・記号・固有名詞を厳密に扱う場合は VLM のハルシネーションに注意
|
|
- パラメータシート、表、コード等は誤読リスクが高い
|
|
|
|
## 入力ファイル
|
|
|
|
- `input/` / `output/` / `source/images/` 配下のローカル画像ファイル
|
|
- URL 指定は不可(DownloadFile で先にローカル保存する)
|
|
|
|
対応形式は 2 通りある。
|
|
|
|
| | 形式 | 渡し方 |
|
|
|---|---|---|
|
|
| そのまま渡す | png, jpg, jpeg, gif, webp, bmp | ファイルの中身をそのままモデルへ |
|
|
| PNG に起こして渡す | svg, avif, tiff, tif, ico | こちら側で PNG に変換してからモデルへ。ファイル自体は元の形式のまま残る |
|
|
|
|
後者はページの魚拓が溜める形式(`source/images/`)に合わせたもの。**BMP を格納した古い形式の `.ico` だけは読めず**、理由付きのエラーが返る(いまの web のアイコンはほぼ PNG を格納しているので通常は当たらない)。
|