tres vibes:服务于mcp的加速模型
特性
- 本地性能:通过节点gyp直接绑定到LiteRT LM C++库
- TypeScript支持:完整的TypeScript类型和IDE自动补全
- mcp-llm兼容API:与Rust的接口相同
mcp-llm板条箱 - 会话管理:带上下文的多回合对话
- 基准测试:内置性能指标(令牌/秒、延迟)
- CPU和GPU:同时支持CPU和GPU后端
先决条件
- 准备LiteRT LM运行时工件\
此存储库需要预构建的LiteRT LM头文件和内部共享库 prebuilt/ /.
要从LiteRT LM源代码自己构建它们,请运行:
cd ~/LiteRT-LM
bazel build //rust_api:litert_lm_rust_api \
--define=litert_link_capi_so=true \
--define=resolve_symbols_in_exec=false将生成的标头和共享库复制到此仓库中:
# Headers
mkdir -p /Users/rpm/gemma3-mcp/prebuilt/include
cp rust_api/litert_lm_c_api.h /Users/rpm/gemma3-mcp/prebuilt/include/
# macOS example (adjust for linux/windows)
mkdir -p /Users/rpm/gemma3-mcp/prebuilt/darwin/lib
cp bazel-bin/rust_api/*.dylib /Users/rpm/gemma3-mcp/prebuilt/darwin/lib/构建系统将自动复制这些 .dylib/.so/.dll 编译插件旁边的文件,以便在不进行完整的LiteRT LM签出的情况下重新分发。
- 安装依赖项:
bun install安装
双子座快速入门
直接安装为Gemini扩展:
gemini extensions install https://github.com/maceip/tres-gemma安装后,该扩展通过Gemini CLI提供设备上的LLM加速。
手动安装
# Install dependencies (verifies & copies prebuilt runtime)
bun install
# Build native addon and TypeScript
bun run build用法
作为双子座的延伸
通过安装后 gemini extensions install,扩展程序在Gemini中自动可用:
# The extension runs automatically with Gemini commands
# Provides accelerated on-device model inference
gemini chat "Hello, how are you?"
# Check extension status
gemini extensions list基础示例
import { LiteRTEngine, LiteRTBackend } from 'litert-lm-node';
// Create engine
const engine = new LiteRTEngine(
'/path/to/model.litertlm',
LiteRTBackend.GPU // defaults to GPU with automatic CPU fallback
);
// Create conversation
const conversation = engine.createConversationWithSystem(
'You are a helpful AI assistant.'
);
// Send messages
const response = conversation.sendMessage('user', 'Hello!');
console.log('Assistant:', response);
// Get performance metrics
const benchmark = conversation.getBenchmarkInfo();
if (benchmark) {
console.log('Tokens/sec:', benchmark.decodeTurns[0].tokensPerSec);
}
// Cleanup
conversation.destroy();
engine.destroy();交互式聊天
bun examples/chat.ts /path/to/model.litertlmAPI 参考
LiteRTEngine
装载型号的主机等级。
class LiteRTEngine {
constructor(modelPath: string, backend?: LiteRTBackend);
createConversation(): LiteRTConversation;
createConversationWithSystem(systemInstruction: string): LiteRTConversation;
destroy(): void;
}LiteRTConversation
管理对话会话。
class LiteRTConversation {
sendMessage(role: MessageRole, content: string): string;
getBenchmarkInfo(): BenchmarkInfo | null;
destroy(): void;
}类型
enum LiteRTBackend {
CPU = 'cpu',
GPU = 'gpu',
}
type MessageRole = 'user' | 'model' | 'system';
interface BenchmarkInfo {
prefillTurns: TurnBenchmark[];
decodeTurns: TurnBenchmark[];
timeToFirstTokenMs: number;
lastPrefillTokenCount: number;
lastDecodeTokenCount: number;
}
interface TurnBenchmark {
numTokens: number;
durationSeconds: number;
tokensPerSec: number;
}匹配mcp-llm API
此库提供与Rust相同的接口 mcp-llm 机箱:
| mcp llm(Rust) | litert lm节点(TypeScript) |
|---|---|
LiteRTEngine::new() | new LiteRTEngine() |
engine.create_conversation() | engine.createConversation() |
conversation.send_message() | conversation.sendMessage() |
conversation.get_benchmark_info() | conversation.getBenchmarkInfo() |
LiteRTBackend::Cpu | LiteRTBackend.CPU |
测试
# Set test model path
export LITERT_TEST_MODEL=/path/to/model.litertlm
# Run tests
bun test建筑
# Clean build
bun run clean
# Rebuild addon + TypeScript (handles prebuilt runtime copy)
bun run build
# Build TypeScript only
bun run build:ts建筑
┌─────────────────────────────────────┐
│ TypeScript Application Layer │
├─────────────────────────────────────┤
│ src/index.ts (Type-safe wrapper) │
├─────────────────────────────────────┤
│ src/native/litert_addon.cc │
│ (N-API C++ bindings) │
├─────────────────────────────────────┤
│ LiteRT-LM Rust API │
│ (~/LiteRT-LM/rust_api) │
├─────────────────────────────────────┤
│ LiteRT-LM C++ Engine │
│ (~/LiteRT-LM/c/engine.cc) │
└─────────────────────────────────────┘许可证
麻省理工学院
相关项目
黑客松
Gemini扩展的存在是为了轻松运行高性能的设备上机器学习模型。它将LiteRT LM运行时、GPU优先绑定和MCP兼容工具打包成一个对黑客马拉松友好的捆绑包,这样团队就可以专注于构建体验,而不是连接基础设施。
视频
剪辑1-0-6s:“创客在笔记本电脑上向双子座上传了一个新的原型;状态闪烁着‘设备加速就绪’。充满活力的音乐提示着实验。”
剪辑2-6-12s:“Gemini使用GPU驱动的覆盖层立即渲染设计亮点;实时延迟计保持绿色。Maker对响应式反馈微笑。”
剪辑3--12-18s:“团队挤在屏幕周围,双子座模拟多用户协作,在没有云的情况下同步设备。快节奏的动态图形强调本地速度。”
剪辑4--18-24s:“户外现场测试:运行Gemini的平板电脑以毫秒为单位对物体进行分类,叠加洞察力。显示屏显示‘由设备上的LiteRT LM供电’。”
剪辑5--24-30s:“最终展示蒙太奇:原型船,遥测仪表板图表参与度上升,文本叠加显示‘Gemini+LiteRT LM:高性能,适用于所有人的设备机器学习。’淡出。”
