Private Vision AI:在您的机器上完整运行 Reka Edge

发布: (2026年3月19日 GMT+8 21:17)
6 分钟阅读
原文: Dev.to

Source: Dev.to

Reka 刚刚发布了 Reka Edge,这是一款紧凑却强大的视觉‑语言模型,能够 完全在你的机器上运行。无需 API 密钥、无需云端、数据不会离开你的电脑。我在 Reka 工作,编写这篇教程真的很有趣;希望你和我一样享受运行它的过程。

只需三步,你就能从零开始,让 AI 识别任何图像或视频中的内容。

您需要的

  • 一台拥有足够内存以运行 7 B 参数模型的机器(推荐约 16 GB)
  • Git
  • uv,一个快速的 Python 包管理器

安装方法:

curl -LsSf https://astral.sh/uv/install.sh | sh

此方法适用于 macOS、Linux 和 Windows(WSL)。如果您在没有 WSL 的 Windows 上,请改为获取Windows 安装程序

第 1 步:获取模型和推理代码

从 Hugging Face 克隆 Reka Edge 仓库。该仓库包含模型权重和推理代码:

git clone https://huggingface.co/RekaAI/reka-edge-2603
cd reka-edge-2603

下载时可以喝杯咖啡——模型权重有好几 GB。

第 2 步:获取大文件

Hugging Face 使用 Git LFS 来存储大文件(模型权重和图像)。克隆后,这些文件会出现在磁盘上,但仅包含小的指针文件,而不是真正的内容。

  1. 安装 Git LFS(不同平台的命令不同):

    # macOS
    brew install git-lfs
    
    # Linux / WSL (Ubuntu/Debian)
    sudo apt install git-lfs
  2. 初始化 Git LFS

    git lfs install
  3. 拉取大文件(模型权重和媒体示例):

    git lfs pull

第 3 步:询问模型关于图像或视频的信息

图像

uv run example.py \
  --image ./media/hamburger.jpg \
  --prompt "What is in this image?"

视频

uv run example.py \
  --video ./media/many_penguins.mp4 \
  --prompt "What is in this?"

模型将加载、处理你的输入,并打印描述——全部本地运行,全部私密

尝试不同的提示以解锁更多功能

  • "详细描述此场景。"
  • "此图像中可见的文字是什么?"
  • "这里有什么不寻常或意外的地方吗?"

实际发生了什么? (可选阅读)

您并不需要了解这些内容即可使用模型,但如果您对 example.py 的内部工作原理感到好奇,这里有一个简要的 walkthrough。

1. 硬件选择

if torch.cuda.is_available():
    device = torch.device("cuda")
elif mps_ok:
    device = torch.device("mps")
else:
    device = torch.device("cpu")

脚本会自动挑选最佳可用设备(CUDA、Metal 或 CPU)。

2. 模型加载

processor = AutoProcessor.from_pretrained(args.model, trust_remote_code=True)
model = AutoModelForImageTextToText.from_pretrained(
    args.model, ...).eval()

7 B 参数的模型会从克隆的文件夹中读取。加载大约需要 30 秒,具体取决于硬件。

3. 输入包装

messages = [{
    "role": "user",
    "content": [
        {"type": "image", "image": args.image},
        {"type": "text",   "text": args.prompt},
    ],
}]

您的图像(或视频)和提示会被封装成聊天式的消息。

4. 分词

inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    return_tensors="pt",
    return_dict=True,
)

处理器会把图像转换为数值化的 patch,并把文本转换为 token。

5. 生成

output_ids = model.generate(
    **inputs,
    max_new_tokens=256,
    do_sample=False,
)

模型会一次次预测下一个 token,直至满足停止条件。

6. 解码

output_text = processor.tokenizer.decode(
    new_tokens,
    skip_special_tokens=True,
)
print(output_text)

Token ID 被转回可读的文本并打印。整个过程不涉及任何网络请求。

这里是视频

如果你更喜欢观看和阅读,这里是视频版本:

(embed or link to the video here)

那真是相当酷,对吧?

一个脚本。无需 API 密钥。无需云服务。你只需在自己的机器上运行一个 7 B 参数的视觉‑语言模型,无论是 Mac、Linux,还是带有 WSL 的 Windows(我写这篇时就是在这种环境下使用的),都能正常工作。

这作为一次性脚本运行得非常好:放入一个文件,提出一个问题,得到答案。

但是如果你想在此基础上构建一些东西呢?比如一个网页应用、一个监视文件夹的工具,或任何需要反复与模型交互的东西?
这正是下一篇文章要讨论的内容。我会展示如何将 Edge 包装成本地 API,这样就不必每次运行脚本,而是让你的机器上运行一个服务,任何应用都可以接入。模型相同,隐私相同,但现在它成为了一个正式的构建块。

0 浏览
Back to Blog

相关文章

阅读更多 »