Workers AI の toMarkdown が便利

🖊

β 版な機能だが、いろんなものを 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 を使った。

yaakai.to