← Cloudflare Workers AI / workers-ai / features / markdown-conversion / usage
Workers Binding
Bezserverová platforma Cloudflare vám umožňuje spouštět kód na edge a vytvářet tak fullstack aplikace pomocí Workers. binding umožňuje vašemu Workeru nebo Pages Function pracovat s prostředky na Cloudflare Developer Platform.
Chcete-li využívat naši službu Markdown Conversion přímo z Workers, vytvořte vazbu AI buď v Cloudflare dashboardu (viz AI bindings s pokyny), nebo můžete aktualizovat Soubor Wrangler. Do souboru Wrangler přidejte následující:
{
"$schema": "./node_modules/wrangler/config-schema.json",
"ai": {
"binding": "AI"
}
}[ai]
binding = "AI" # i.e. available in your Worker on env.AIPříklady
Převod souborů
V tomto příkladu načteme dokument PDF a obrázek z R2 a oba předáme env.AI.toMarkdown. Výsledkem je seznam převedených dokumentů. Modely Workers AI se automaticky použijí k detekci a shrnutí obrázku.
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",
}),
},
]),
);
},
};Zjištění podporovaných formátů souborů
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());
},
};Metody
async env.AI.toMarkdown()
Přijímá dokument nebo seznam dokumentů v různých formátech a převádí je do formátu 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]),
});Parametr
-
files:MarkdownDocument | MarkdownDocument[]- instance nebo poleMarkdownDocuments. -
conversionOptions:ConversionOptions- options které řídí, jak probíhá konverze. Viz Možnosti převodu pro další podrobnosti.
Návratové hodnoty
results:Promise<ConversionResult | ConversionResult[]>- Instance nebo poleConversionResults.
MarkdownDocument definice
-
namestring- Název dokumentu, který se má převést.
-
blobBlob- Nový Blob ↗ objekt s obsahem dokumentu.
ConversionResult definice
-
idstring- ID přiřazené k tomuto objektu.
-
namestring- Název převedeného dokumentu. Odpovídá názvu vstupního souboru.
-
format'markdown' | 'text' | 'error'- Formát tohoto
ConversionResultobjekt. Rovná setextpři nastaveníoutput.formatmožnost natext.
- Formát tohoto
-
mimetypestring- Zjištěný typ MIME ↗ dokumentu.
-
tokensnumber- Odhadovaný počet tokenů převedeného dokumentu. Není přítomen, pokud
formatse rovnáerror.
- Odhadovaný počet tokenů převedeného dokumentu. Není přítomen, pokud
-
datastring- Obsah převedeného dokumentu. Není přítomen, pokud
formatse rovnáerror.
- Obsah převedeného dokumentu. Není přítomen, pokud
-
errorstring- Chybová zpráva vysvětlující, proč převod selhal. Přítomna pouze v případě, že
formatse rovnáerror.
- Chybová zpráva vysvětlující, proč převod selhal. Přítomna pouze v případě, že
async env.AI.toMarkdown().transform()
Tato metoda je podobná env.AI.toMarkdown s tím rozdílem, že je zpřístupněna prostřednictvím nového handle. Přijímá stejné argumenty a vrací stejné hodnoty.
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()
Vrátí seznam formátů souborů, které jsou aktuálně podporovány pro převod do markdownu. Viz Podporované formáty pro úplný seznam formátů souborů, které lze převést do Markdownu.
const formats = await env.AI.toMarkdown().supported();const formats = await env.AI.toMarkdown().supported();Návratové hodnoty
results:SupportedFormat[]- Pole všech formátů podporovaných pro konverzi do markdownu.
SupportedFormat definice
-
extensionstring- Přípona souborů v tomto formátu.
-
mimeTypestring- typ MIME ↗ souborů tohoto formátu