β 版な機能だが、いろんなものを Markdown に変換できて便利そう。今回自分は mozilla/readability で取り出した HTML を変換するのに使った。
const blob = new Blob([html], { type: 'text/html' });
const result = await this.env.AI.toMarkdown([
{
name: 'article.html',
blob
}
]);
const markdown = result[0].data;
実行には wrangler の ai フィールドの設定と、 --remote
での起動が必要。LLM に食わせる用途なので、ローカルで動かすときは HTML をそのまま返すようにしている。
{
"ai": {
"binding": "AI"
},
}
$ bun wrangler dev --remote
mozilla/readability はサンプルコードのままだと jsdom が Workers では動作しないので、そこは代わりに likendom を使った。