深入分析 Ollama 等开源本地 LLM 平台的兴起,展示其在离线 AI 开发中的潜力和应用方向。
在不久前的过去,尝试生成式 AI 技术意味着要严重依赖专有模型。套路很简单:获得一个 OpenAI 密钥,然后就可以开始了,虽然受制于按使用量计费的方案。但这道门槛随着 ChatGPT 的推出开始崩塌,让任何在线用户都能实验这项技术,无须面临财务门槛。
然而,2023 年迎来了一个令人兴奋的转折,数字领域开始涌现开源模型。回顾与 Sam Altman 的一次采访,他预言未来将由少数几个模型主导,创新主要通过在这些巨头基础上迭代而来,这个预测似乎没有言中。尽管 GPT-4 仍然占据大语言模型(LLM)的顶峰,开源社区正在快速追赶。
在众多新兴的开源项目中,有一个特别吸引了我的注意:Ollama。与初次印象相反,Ollama 不仅仅是另一个被堆入日益增长的模型堆中的模型。相反,它是一个革命性的应用,旨在赋予用户在本地机器上直接下载和运行流行模型的能力,使前沿 AI 技术民主化。
好吧,与其只是告诉你,不如让我展示一些东西。
在你的本地机器上下载 Ollama。
完成后,试着在这里与模型聊天:
如果你遇到 CORS 错误,运行这个命令:
OLLAMA_ORIGINS=* ollama serve
这样,你现在就能在这篇文章中与 Llama2 模型聊天,而它运行在你的本地机器上。
看看代码——它只是一个简单的 fetch 请求:
fetch("http://localhost:11434/api/generate", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "llama2",
prompt: document.querySelector("input").value,
stream: true,
}),
});
llama2 并不是唯一可用的模型。他们的库中有很长的模型列表,你可以下载并在本地运行。你要做的就是改变模型名称,即 fetch 请求中的 model: "llama2"。
有意思吧。现在你有了强大的模型运行在你的电脑上(离线)。
令人惊叹的是,你可以在任何拥有 8GB RAM 的机器上运行它(7B 模型)。要运行更大的模型,你可能需要更多的 RAM。
OpenAI 和 Cohere 等主要厂商提供类似的 API,但这些服务总是伴随成本,更不用说隐私问题了。
当然,在线托管和运行这些模型是一个选项,但想象一下离线运行这些模型所带来的无限可能性。
例如,看看这个插件 Text Gen,你可以在 Obsidian 中使用它。你可以在设置中将 Ollama 设置为你的 LLM 提供商,并像这样指定要使用的模型:
现在你在 Obsidian 中拥有了自动补全,就是这样。
或者,你可以使用 Continue 作为 GitHub 的 Copilot 的替代品。只需使用 Ollama 下载 codellama,选择 Ollama 作为你的 LLM 提供商,瞧——你就有了一个运行在你电脑上的本地 Copilot。
我是说,现在你可以这样做...
无需互联网。零成本。
对更多建立在 Ollama 基础上的酷炫实验感兴趣?这里有 10 个:
想象在你的项目中添加一个 Ollama 提供商。如果用户已安装 Ollama,你可以为用户提供强大的 AI 功能,零成本。
这当然只是开始。最新版本的 Ollama 包含一些真正很酷的模型,例如 Gemma,这是由 Google DeepMind 构建的轻量级、最先进的开源模型系列,上周刚推出。
或考虑 LLava 模型,它可以为你的应用赋予计算机视觉能力。
我会说 Ollama 只是开始,但它并不是唯一奉行这一理念的项目。还有一个较早的项目叫 WebLLM,它将开源模型下载到你的浏览器缓存中,让你可以离线使用它们。
那么,从这里走向何方呢?没人真正知道。但如果让我猜的话,我会说这些模型很快就会成为操作系统的一部分。我是说,它们几乎必须这样做。苹果可能已经在开发一个——谁知道呢?他们的机器肯定拥有所需的强大芯片。🤷♂️
离线 LLM(大语言模型)将是未来,特别是考虑到对隐私和安全的关切。不久之后,甚至你的移动设备也将配备 LLM。问题是,我们将如何利用它们?相信我,聊天绝不是唯一的用例;还会有许多其他用例。最新的移动设备如三星 Galaxy S24 Ultra 已经开始利用 AI 驱动的应用,它们相对较好地集成到整个操作系统中。我的猜测是,随着时间推移和本地 LLM 变得更强大,这将以更多新颖(和安全)的方式进一步赋能我们的移动设备。
我鼓励你尝试这项技术。你可以访问 Ollamahub 来找到不同的模型文件和 prompt 模板,给你的本地 LLM 增添创意。
考虑使用像 LangChain 这样的库来进一步构建这项技术,增加长期记忆和上下文感知。你甚至可以尝试使用 Flowise 进行本地低代码设置。
这不令人兴奋吗?我很想听听你的想法!🌟 你的脑子里是否开始冒出了什么酷炫的想法?请不要犹豫,在下面的评论中分享你的想法——我洗耳恭听!
如果你想讨论一个潜在的想法或者只是需要一些指导,为什么不在 Twitter @sarthology 上给我留言呢?我迫不及待地想与你联系。再见!💬✨
某些评论可能仅对已登录用户可见。登录以查看所有评论。
如需进一步行动,你可以考虑屏蔽此人和/或举报滥用行为。