Desert Ant Labs

Emo:设备端表情符号建议

表情符号建议可用

设备端表情符号建议:读取一小段文本,返回真正贴合它的表情符号,支持23种语言,用时不到10毫秒。

Emo从任务、日历条目和消息等短文本中预测相关的表情符号。「看牙医」返回 🦷 🪥 🏥 🩺;「付账单」返回 💰 💳 🧾。它针对人们实际的书写方式做了调优,并支持肤色变体。

Emo根据语义建议表情符号,它不是表情选择器。选择器展示一个供浏览的网格,而Emo读取文本并给出贴合的表情,就像预测输入法给出下一个词一样。一个紧凑的双流文本分类器让它足够小、足够快,可以在每次按键时运行。

演示

性能

来自一个 <6 MB模型的10毫秒以内建议,覆盖23种语言。

<10 ms
每次建议
<6 MB
设备端
23
语言
~800
表情符号词表

内部测量数据。表情符号的语义是近似的,因此排名靠前处出现接近的并列属于预期。

应用场景

键盘与自动补全

在用户输入时建议表情符号,就像预测输入法建议词语一样,完全在设备上进行。

日历与任务条目

针对短条目做了调优:「看牙医」返回 🦷 🪥 🏥 🩺,日程应用因此可以自动为事件加标签。

即时消息

为草稿消息呈现贴合的表情符号,跨语言,无需任何网络往返。

作为选择器的补充

Emo从语义出发,因此它与表情网格并存,而非取而代之。

功能

  • 精选约800个日常表情符号词表,含肤色变体。
  • 多语言:23种语言,包括中日韩、阿拉伯语、泰语和印地语。
  • 在现代手机上预测用时不到10毫秒。
  • 内置小模型,无需调用服务器。

平台与安装

SwiftiOS, macOS
安装
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/emo-swift", from: "0.5.0")
示例
import Emo

let emoji = try await Emo.suggestions(for: "Pay my bills")
// ["💰", "💳", "🧾"]
KotlinAndroid
安装
// build.gradle.kts (via JitPack)
implementation("com.github.Desert-Ant-Labs:emo-kotlin:0.5.0")
示例
import ai.desertant.emo.Emo

val emoji = Emo.suggestions("Pay my bills")
// ["💰", "💳", "🧾"]
JavaScript / TypeScriptWeb, Node.js
安装
npm i @desert-ant-labs/emo
示例
import { suggestions } from "@desert-ant-labs/emo";

const results = await suggestions("Pay my bills");
// [{ emoji: "💰", confidence: 0.62 }, ...]

规格

语言
23种,包括中日韩、阿拉伯语、泰语和印地语
设备端体积
内置约5 MB(模型 + 分词器)
延迟
每次建议用时不到10毫秒
方法
双流文本分类器:词汇n-gram加多语言嵌入

常见问题

Emo是什么?

设备端表情符号建议:读取一小段文本,返回真正贴合它的表情符号,支持23种语言,用时不到10毫秒。

Emo在设备上运行吗?

是的。Emo完全在设备上运行:推理在本地完成,不调用任何服务器,因此数据不会离开设备。

Emo支持哪些平台?

Emo以原生设备端SDK的形式提供,支持Swift, Kotlin, JavaScript / TypeScript。

Emo的价格是多少?

每个模型的每个SDK均可免费支持最多10万台月活跃设备。每位用户可无限次推理。 如需定制授权,请联系我们

Emo的准确度和速度如何?

来自一个 <6 MB模型的10毫秒以内建议,覆盖23种语言。

资源