webmachinelearning/prompt-api

💬 A proposal for a web API for prompting browser-provided language models

解决的问题

该项目提出了一种标准化的 JavaScript API,允许网页开发者直接调用浏览器或操作系统内置的语言模型。它消除了开发者仅依赖云 API 或手动通过 WASM 和 WebGPU 打包并运行大型模型的需要,从而降低开发成本,通过本地处理提升隐私保护,并支持离线功能。

如何工作

该 API 提供 LanguageModel 接口以创建会话。开发者可以使用 prompt() 获取单次响应,或使用 promptStreaming() 实现实时输出。它支持多种高级提示技术,包括:

  • 系统提示:设置模型的角色或上下文(例如,"假装自己是一只优雅的仓鼠")。
  • N 次提示:提供用户/助手交互的示例,以引导模型行为。
  • 工具使用:通过 JSON 模式定义外部能力(工具)。模型可请求工具调用,应用程序执行后将结果作为工具响应反馈回会话。
  • 采样参数:调整 temperature 和 topK 以控制输出的随机性和创造性。

适用人群

希望在不管理自有模型基础设施的前提下,将文本分类、摘要、翻译和交互式助手等 AI 功能集成到网页应用中的 Web 开发者。

主要亮点

  • 本地执行:利用设备端模型,实现更快的结果和更低的延迟。
  • 模型无关:无论浏览器或操作系统提供何种具体模型,均提供统一的 API。
  • 工具集成:支持开放环路工具调用,通过外部数据或函数扩展模型能力。
  • 资源高效:通过使用优化的内置模型,减少用户带宽和存储需求。

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • 项目