← Cloudflare Workers AI / workers-ai / features / markdown-conversion / usage
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]),
});Параметр
-
files:MarkdownDocument | MarkdownDocument[]- экземпляр или массивMarkdownDocuments. -
conversionOptions:ConversionOptions- параметры, управляющие процессом преобразования. См. Параметры конвертации для получения дополнительных сведений.
Возвращаемые значения
results:Promise<ConversionResult | ConversionResult[]>- Экземпляр или массивConversionResults.
MarkdownDocument определение
-
namestring- Имя документа для преобразования.
-
blobBlob- Новый Blob ↗ объект с содержимым документа.
ConversionResult определение
-
idstring- ID, связанный с этим объектом.
-
namestring- Имя преобразованного документа. Совпадает с именем входного файла.
-
format'markdown' | 'text' | 'error'- Формат этого
ConversionResultобъект. Равноtextесли задатьoutput.formatопцию вtext.
- Формат этого
-
mimetypestring- Обнаруженный тип MIME ↗ документа.
-
tokensnumber- Примерное количество токенов в преобразованном документе. Отсутствует, если
formatравноerror.
- Примерное количество токенов в преобразованном документе. Отсутствует, если
-
datastring- Содержимое преобразованного документа. Отсутствует, если
formatравноerror.
- Содержимое преобразованного документа. Отсутствует, если
-
errorstring- Сообщение об ошибке с объяснением, почему преобразование завершилось неудачно. Присутствует только если
formatравноerror.
- Сообщение об ошибке с объяснением, почему преобразование завершилось неудачно. Присутствует только если
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 определение
-
extensionstring- Расширение файлов этого формата.
-
mimeTypestring- тип MIME ↗ файлов этого формата