AI 文本生成 (Transformers.js)¶
体验直接在您的浏览器中运行的文本生成 AI 模型!借助 Transformers.js,我们可以让 AI 根据您提供的提示(prompt)创作文本。
在下面的文本框中输入一个英文句子作为开头,然后点击“生成文本”按钮,模型将尝试补全后续内容。
生成结果:
-
工作原理¶
这个演示利用了 Transformers.js 库,它允许 Hugging Face Transformers 模型直接在浏览器中运行,无需服务器端计算。
- 加载库: 我们通过 CDN 链接
<script type="module">
标签引入 Transformers.js。 - 模型加载: 当您第一次点击“生成文本”按钮时:
- 会从 Hugging Face Hub 下载预训练的文本生成模型 (本例中为
Xenova/distilgpt2
)。 - 模型会被缓存到浏览器中,以便后续快速加载。
- 会从 Hugging Face Hub 下载预训练的文本生成模型 (本例中为
- 文本生成:
- 您输入的提示文本将传递给加载的模型。
- 模型会根据提示继续生成文本,直到达到设定的最大长度或生成结束标记。
- 显示结果: 生成的文本会显示在页面上。
调整参数¶
在上面的 JavaScript 代码中,您可以看到一些用于文本生成的参数,例如:
* max_length
: 生成文本的最大总长度(包括提示)。
* temperature
: 控制生成文本的随机性。较低的值(如0.2)会产生更可预测、���保守的文本;较高的值(如0.8-1.0)会产生更多样、更具创造性的文本,但也可能包含更多错误或不连贯的内容。
* top_k
: 在每一步生成时,模型会考虑概率最高的 k
个词进行采样。这有助于避免选择概率极低的词,从而提高文本质量。
* do_sample
: 如果为 true
,则使用采样策略;如果为 false
,则使用贪婪搜索(总是选择概率最高的词)。
尝试调整这些参数,观察它们对生成结果的影响!
Transformers.js 的强大之处¶
正如您所见,Transformers.js 使得在客户端直接运行强大的 AI 模型成为可能,为 Web 应用带来了诸多可能性,例如: * 即时翻译 * 文本摘要 * 问答系统 * 以及更多自然语言处理和计算机视觉任务
所有这些都在用户浏览器中完成,保护了用户隐私并减少了服务器负载。