@沙漠- ant- labs/ emo
在浏览器和节点运行的JavaScript的On-device多语种emoji建议. 给Emo一个短的任务,日历条目,注释,或消息,它返回了23种语言的排名的emoji. 文本保持本地状态 .
两条共用一条 Emo API : (英语)
@desert-ant-labs/emo(默认):一个WebAssembly输油管 LitteRT.js (法语) 推论: 浏览器。它没有本土的依赖性,因此,对于一个多目标捆绑器(Next.js, Remix, SvelteKit, Nuxt)的每个目标,包括浏览器捆绑和客户端-组件SSR通过在节点提供的这些框架,一个单一的导入结构是干净的。 这是安全的 导入 在服务器侧渲染时,但LiteRT.js需要浏览器(或Web Worker)来初始化,所以Emo.load()运行仅在浏览器中推导;在平原节点中调用它会丢出一个可操作错误,指向您/native。 。 。 .@desert-ant-labs/emo/native: 预建的本地核心, macOS上的核心ML和Linux上的LiteRT, for 服务器侧推论 在节点。 没有@litertjs/core没有建筑工具 没有旗帜 从仅服务器代码(API路由,服务器动作,平分节点脚本)导入. 不要从同样在浏览器中的组件导入它 .
# Browser (default entry):
npm i @desert-ant-labs/emo @litertjs/core
# Server-side inference in Node (/native entry) needs no extra install:
npm i @desert-ant-labs/emo
该型号被从Hugging Face下载,首先在SDK的被贴标签上使用,后被缓存. Npm 柏油丸里没有模型大小的货.
import { Emo } from "@desert-ant-labs/emo";
const emo = await Emo.load();
const suggestions = await emo.suggestions("Pay my bills", { limit: 3 });
// [{ emoji: "💰", confidence: 0.65 }, ...]
emo.dispose(); // release the model (both builds)
纯服务器代码,希望本地核心从中导入相同的 API
/native 子路径 :
import { Emo } from "@desert-ant-labs/emo/native"; // server only
正在装入模型
默认 Emo.load() 从 Hugging Face 下载模型文件(desert-ant-labs/emo在SDK的被贴标签, 验证,并缓存它们。 浏览器构建获取 .tflite 用于 LiteRT.js 并在浏览器中缓存它. 土著建筑/native获取 .tflite 在 Linux 上还是 .mlmodelc/ 在 macOS 上,并在 OS 缓存目录下缓存它.
跳过 Higging Face 的下载:
directory:一个明确的模型目录(内部构建,或浏览器在节点下构建). 文件已经使用离线,否则模型会被下载到其中.modelBaseUrl: 例如, 为模型文件服务的基础 URL"/assets/emo/"(浏览器建设).
Emo.load() 并接受:
cacheRoot: 管理上磁盘缓存的基础目录,默认~/.cache(内部构建,或浏览器在节点下构建).onProgress: 加载或下载进度回调,分数在[0, 1]。 。 。 .skinTone: 一个"default", (中文(简体) ),"light", (中文(简体) ),"mediumLight", (中文(简体) ),"medium", (中文(简体) ),"mediumDark",或"dark"调用时suggestions。 。 。 .
浏览器- 仅构建- 选项 :
litert:一个带给你的@litertjs/core模块.litertWasmDir: LiteRT.js Wasm 目录的URL或路径.accelerator: 一个"wasm", (中文(简体) ),"webgpu",或"webnn"。 。 。 .
保险箱和安保部
默认 @desert-ant-labs/emo 导入可直接用于组件 :
它是纯 JavaScript + Web Assembly 没有本地模块, 所以捆绑者可以构建
用于浏览器和节点 SSR 从同一个模块图中通过,没有
配置 .
这个 @desert-ant-labs/emo/native 子路径加载本地加通( 通过 koffi和
仅用于服务器代码。 如果您在捆绑服务器的框架内导入它
代码(例如 Next.js Route Handler 或 Server Action),将其标记为外部
捆绑者不会试图捆绑本地二进制。 在下一个.js中:
// next.config.js
module.exports = { serverExternalPackages: ["@desert-ant-labs/emo"] };
平台
本地服务器构建( N)/native)为linux-x64,linux-arm64,和darwin-arm64的舰只. 其他节点平台投出一个明显的错误 load(); 使用默认的 Web Assembly 构建、 Swift 软件包或浏览器.
许可证
沙漠蚂蚁实验室 源头可破坏许可证。为大多数免费提供 应用软件和商务许可证必须规模化。 完整的术语在链接. 许可证发放: 许可@ desertant.com。 。 。 .
SDK的第三方通知: THIRD_PARTY_NOTICES.md。 。 。 .
权重第三方通知: THIRD_PARTY_NOTICES.md。 。 。 .