Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Workers Binding

最終更新 Markdown で表示Agent セットアップ

Cloudflare のサーバーレスプラットフォームでは、エッジでコードを実行し、Workers でフルスタックアプリケーションを構築できます。バインディング により、Worker または Pages Function は Cloudflare Developer Platform 上のリソースと連携できます。

Workers から Markdown Conversion サービスを直接使うには、Cloudflare ダッシュボードで AI バインディングを作成するか(手順は AI バインディング を参照)、Wrangler ファイル を更新します。Wrangler ファイルに次を追加します。

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "ai": {
    "binding": "AI"
  }
}
[ai]
binding = "AI" # i.e. available in your Worker on env.AI

ファイルを変換する

この例では、R2 から PDF と画像を取得し、両方を env.AI.toMarkdown に渡します。結果は変換済みドキュメントのリストです。画像の検出と要約には、Workers AI モデルが自動で使われます。

import { Env } from "./env";

export default {
	async fetch(request, env, ctx) {
		// https://pub-979cb28270cc461d94bc8a169d8f389d.r2.dev/somatosensory.pdf
		const pdf = await env.R2.get("somatosensory.pdf");

		// https://pub-979cb28270cc461d94bc8a169d8f389d.r2.dev/cat.jpeg
		const cat = await env.R2.get("cat.jpeg");

		return Response.json(
			await env.AI.toMarkdown([
				{
					name: "somatosensory.pdf",
					blob: new Blob([await pdf.arrayBuffer()], {
						type: "application/pdf",
					}),
				},
				{
					name: "cat.jpeg",
					blob: new Blob([await cat.arrayBuffer()], {
						type: "image/jpeg",
					}),
				},
			]),
		);
	},
};
import { Env } from "./env";

export default {
	async fetch(request: Request, env: Env, ctx: ExecutionContext) {
		// https://pub-979cb28270cc461d94bc8a169d8f389d.r2.dev/somatosensory.pdf
		const pdf = await env.R2.get("somatosensory.pdf");

		// https://pub-979cb28270cc461d94bc8a169d8f389d.r2.dev/cat.jpeg
		const cat = await env.R2.get("cat.jpeg");

		return Response.json(
			await env.AI.toMarkdown([
				{
					name: "somatosensory.pdf",
					blob: new Blob([await pdf.arrayBuffer()], {
						type: "application/pdf",
					}),
				},
				{
					name: "cat.jpeg",
					blob: new Blob([await cat.arrayBuffer()], {
						type: "image/jpeg",
					}),
				},
			]),
		);
	},
};

対応しているファイル形式を取得する

import { Env } from "./env";

export default {
	async fetch(request, env, ctx) {
		return Response.json(await env.AI.toMarkdown().supported());
	},
};
import { Env } from "./env";

export default {
	async fetch(request: Request, env: Env, ctx: ExecutionContext) {
		return Response.json(await env.AI.toMarkdown().supported());
	},
};

メソッド

async env.AI.toMarkdown()

さまざまな形式のドキュメント、またはそのリストを受け取り、Markdown に変換します。

const result = await env.AI.toMarkdown({
	name: "document.pdf",
	blob: new Blob([documentBuffer]),
});
const result = await env.AI.toMarkdown({
	name: "document.pdf",
	blob: new Blob([documentBuffer]),
});

パラメーター

  • files: MarkdownDocument | MarkdownDocument[]MarkdownDocument のインスタンス、またはその配列です。

  • conversionOptions: ConversionOptions — 変換の動作を制御するオプションです。詳細は 変換オプション を参照してください。

戻り値

  • results: Promise<ConversionResult | ConversionResult[]>ConversionResult のインスタンス、またはその配列です。

MarkdownDocument の定義

  • name string

    • 変換するドキュメントの名前です。
  • blob Blob

    • ドキュメント内容を持つ新しい Blob オブジェクトです。

ConversionResult の定義

  • id string

    • このオブジェクトに関連付けられた ID です。
  • name string

    • 変換後ドキュメントの名前です。入力の名前と一致します。
  • format 'markdown' | 'text' | 'error'

    • この ConversionResult オブジェクトの形式です。output.format オプションを text に設定すると、text になります。
  • mimetype string

  • tokens number

    • 変換後ドキュメントの推定トークン数です。formaterror の場合は存在しません。
  • data string

    • 変換後ドキュメントの内容です。formaterror の場合は存在しません。
  • error string

    • 変換が失敗した理由を説明するエラーメッセージです。formaterror の場合にのみ存在します。

async env.AI.toMarkdown().transform()

このメソッドは env.AI.toMarkdown と似ていますが、新しいハンドル経由で公開されます。引数と戻り値は同じです。

const result = await env.AI.toMarkdown().transform({
	name: "document.pdf",
	blob: new Blob([documentBuffer]),
});
const result = await env.AI.toMarkdown().transform({
	name: "document.pdf",
	blob: new Blob([documentBuffer]),
});

async env.AI.toMarkdown().supported()

現在 Markdown 変換に対応しているファイル形式の一覧を返します。Markdown に変換できるファイル形式の一覧は 対応形式 を参照してください。

const formats = await env.AI.toMarkdown().supported();
const formats = await env.AI.toMarkdown().supported();

戻り値

  • results: SupportedFormat[] — Markdown 変換に対応しているすべての形式の配列です。

SupportedFormat の定義

  • extension string

    • この形式のファイルの拡張子です。
  • mimeType string

役に立ちましたか?