INTEGRITY Документация

Workers Binding

Бессерверная платформа Cloudflare позволяет выполнять код на периферии сети и создавать full-stack приложения с использованием Workers. привязка позволяет вашему Worker или Pages Function взаимодействовать с ресурсами Cloudflare Developer Platform.

Чтобы использовать наш сервис Markdown Conversion непосредственно из Workers, создайте привязку AI в панели управления Cloudflare (см. Привязки 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

Примеры

Преобразование файлов

В этом примере мы получаем PDF-документ и изображение из R2 и передаём их оба в 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]),
});

Параметр

Возвращаемые значения

MarkdownDocument определение

ConversionResult определение

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();

Возвращаемые значения

SupportedFormat определение