文章摘要
InstaVM是一个旨在实现完全本地化操作的平台,结合本地运行的大型语言模型(LLM)、轻量级虚拟机(VM)进行代码执行,以及无头浏览器用于自动化和互联网访问。该平台通过容器化技术确保代码在隔离环境中运行,满足用户对隐私和安全的需求,适用于需要本地处理的任务,如图片或视频编辑。
文章总结
InstaVM - 安全代码执行平台
一位朋友曾表示:“我希望所有操作都在本地进行,不使用云服务,也不进行远程代码执行。” 这一看似简单的需求,实际上需要多个组件协同工作才能实现。
主流的大型语言模型(LLM)聊天应用,如ChatGPT或Claude,通常提供以下功能: - 与云端托管的LLM进行对话 - 在云端基础设施上运行生成的代码,有时通过本地Shell执行 - 访问互联网以获取新内容或服务
随着越来越多的LLM开源,是否有可能在本地实现所有这些功能?然而,仅仅在本地运行LLM是不够的,我们还需要一个真正隔离的环境来执行代码。因此,我们需要LLM进行对话,Docker来容器化代码执行,以及某种形式的浏览器访问内容。
核心构想 我们设想了一个系统,其中: - LLM完全在本地运行 - 代码在轻量级虚拟机(VM)中执行,而不是在主机上 - 额外功能:无头浏览器用于自动化和互联网访问
这个系统的目标是执行需要隐私的任务,从通过LLM进行规划到在容器内执行代码,所有操作都在本地完成。例如,如果你想编辑照片或视频,如何在不将数据交给OpenAI、Google或Anthropic的情况下完成?尽管这些公司非常重视安全性,但一旦出现失误,你的私人数据就可能被泄露。
技术栈
我们使用了以下技术:
- LLM:使用Ollama运行本地模型
- 前端UI:使用assistant-ui
- 沙盒化VM运行时:使用Apple的container
- 编排:使用coderunner
- 浏览器自动化:使用Playwright
开发过程
我们最初尝试开发一个Mac应用,但由于技术限制,最终放弃了这一想法,转而使用本地网页版的assistant-ui,它简单、可配置且易于使用。
工具调用 我们的用例需要支持工具调用的模型。虽然有些模型支持这一功能,但Ollama尚未实现。我们决定不限制用户只能使用本地模型,因为目前较小的本地模型还不够成熟。
容器化执行 在UI基本完成后,我们转向了隔离的VM部分。Apple最近发布了一个名为“Container”的工具,它比Docker更适合运行AI生成的代码。我们在VM中部署了一个Jupyter服务器,并将其作为MCP(Model Context Protocol)工具暴露出来。
无头浏览器 为了允许应用在线查找新工具或信息,我们添加了无头浏览器的支持,并选择了Playwright来完成这一任务。
功能示例
1. 进行主题研究
2. 从CSV生成并渲染图表
3. 编辑视频(通过ffmpeg)
4. 编辑图像(调整大小、裁剪、转换格式)
5. 从GitHub安装工具到容器化空间
6. 使用无头浏览器获取页面并总结内容
隔离与存储
我们将主机上的~/.coderunner/assets映射到容器中的/app/uploads,确保文件在安全共享空间中编辑和生成,而代码不会触及主机系统。
局限性与未来计划 - 目前仅支持Apple Silicon - 需要更好的UI来管理工具和输出流 - 无头浏览器被许多网站识别为机器人
总结 这不仅仅是一个实验,而是一种哲学转变,将计算和代理权带回你的机器。没有云依赖,没有隐私妥协。虽然最好的模型可能始终掌握在巨头手中,但我们希望本地工具能够以我们应得的隐私完成日常工作。
我们不仅想象了它,还构建了它。现在,你也可以使用它。查看Github上的coderunner-ui,并告诉我们你的想法。我们欢迎反馈、问题和贡献。
我们正在构建InstaVM - 安全执行AI生成的代码。注册以获取我们发布时的免费信用:https://instavm.io
评论总结
评论内容主要围绕本地AI模型的隐私、硬件成本、性能及其与云端模型的对比展开。以下是主要观点和论据的总结:
隐私与本地化的重要性:
- 多位评论者强调本地AI模型在隐私保护方面的优势,认为云端模型存在隐私风险。
- 引用:"The amount of friction to get privacy today is astounding."(shaky)
- 引用:"Self hosted and offline AI systems would be great for privacy..."(kaindume)
硬件成本与性能:
- 硬件成本是本地AI模型的主要限制因素,尤其是高性能硬件的价格较高。
- 引用:"Hardware to run a good LLM locally starts around $2000..."(noelwelsh)
- 引用:"As the hardware continues to iterate at a rapid pace, anything you pick up second-hand will still deprecate at that pace..."(tcdent)
本地与云端模型的对比:
- 本地模型的性能通常不如云端模型,且硬件折旧速度快,使得本地投资难以合理化。
- 引用:"Coupled with the dramatically inferior performance of the weights you would be running in a local environment, it's just not worth it."(tcdent)
- 引用:"I think I still prefer local but I feel like that's because that most AI inference is kinda slow or comparable to local."(Imustaskforhelp)
技术与工具的改进:
- 一些评论者分享了他们开发的工具或项目,旨在降低本地AI模型的硬件要求和提高效率。
- 引用:"I built TxtAI with this philosophy in mind..."(dmezzetti)
- 引用:"We built LEANN, a vector index that cuts storage by ~97%..."(andylizf)
未来展望:
- 评论者普遍认为随着硬件和技术的进步,本地AI模型将变得更加可行和普及。
- 引用:"I expect this will change in the future, and am excited to invest in a local inference stack when the weights become available."(tcdent)
- 引用:"Combining a local execution engine like this with a hyper-efficient knowledge index like LEANN feels like the real path to a true 'local Jarvis.'"(andylizf)
总结:评论者普遍认可本地AI模型在隐私保护方面的优势,但也指出硬件成本、性能和折旧速度是当前的主要挑战。随着技术进步,本地AI模型有望在未来变得更加可行和普及。