Hugging Face: 使用开放机器学习模型构建 Web 应用生成器
Hugging Face 已详细介绍了一种创建生成式 AI Web 服务器的方法,该服务器能够将文本提示转换为功能性的 Web 应用程序。通过实时流式传输和渲染 HTML、CSS 和 JavaScript,开发者可以使用开放机器学习模型构建一个 'text-to-app' 流水线。
技术架构与栈
系统使用 NodeJS 作为服务器环境,并使用 Express.js 处理路由和流式传输。核心生成引擎是 WizardCoder-15B,通过 Hugging Face Inference Endpoints API 部署,以确保高性能代码生成所需的硬件加速和内存(通常为 32GB 或更多)。
替代实现路径包括:
- Inference API:适用于较小的社区驱动模型。
- Python Bridges:使用类似 Pythonia 的库来从 Node 调用 Python 模块。
- Local LLM Libraries:使用
llama-node(llama.cpp) 或transformers.js进行本地执行,尽管这些在没有硬件加速的情况下更耗费资源。
实时 HTML 流式传输
生成器通过将模型的输出直接流式传输到浏览器来工作。当用户通过 URL 参数提供提示时,服务器会发送初始的 HTML 模板(<html><head></head><body>),然后使用 hf.textGenerationStream 将生成的令牌直接管道到 HTTP 响应中。
这种方法使得网页能够在 AI 仍在编写代码时开始渲染,从而实现从提示到功能界面的无缝过渡。
Web 生成的提示工程
为了确保生成的代码既功能完整又视觉吸引人,对 WizardCoder 模型采用了特定的提示策略:
使用 Tailwind CSS 进行样式设计
使用 Tailwind CSS 实用程序类可以让模型即时生成样式,而无需单独的样式表。提示引导模型将内容包裹在一个中心布局中(例如 `<div class=