news 2026/4/18 8:18:38

如何使用您的 iPhone 免费与任何开源 LLM 进行聊天

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何使用您的 iPhone 免费与任何开源 LLM 进行聊天

原文:towardsdatascience.com/how-to-chat-with-any-open-source-llm-for-free-with-your-iphone-5fa7549efa9a

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/fa516472e529eac563770b2712b60cf2.png

开源 “ChatGPT” UI 演示。图片由作者提供。

烦于支付昂贵的订阅费,或者担心将您的个人数据与 OpenAI 分享?

如果有免费且更安全的替代方案,使用非常强大的开源模型会怎样?

如果您对此感兴趣,那么这份指南就是为您准备的。让我们一起在我们的 iPhone 上构建自己的 “ChatGPT”,由最强大的开源模型驱动!

在后端,我们将利用Ollama和 Google Colab 的免费 T4 GPU来服务 LLMs。对于前端,我们将使用Enchanted,一个优雅的开源 iOS 应用程序,来与 Llama 2、Mistral、Phi-2 等模型进行交互。

在本指南结束时,您将拥有一个强大的 AI 在您的指尖——而且一分钱都不用花。最好的部分是?您可以轻松地在根据您的需求切换到最佳开源模型之间!

准备好了吗?让我们深入探讨!


关键组件的快速概述

要构建我们的开源 “ChatGPT”,我们将使用以下关键组件:

  • Google Colab 笔记本

  • Ollama:一个开源工具,允许本地运行开源大型语言模型,如 Llama 2。

  • NGrok:一个工具,可以以最小的努力将本地开发服务器暴露给互联网。本质上,它为您的主机创建了一个安全隧道,允许您在本地开发机器上共享一个网络服务,而无需更改防火墙设置或部署到公共服务器。

  • Enchanted:一个开源的 iOS/iPad 移动应用程序,用于与私有托管模型进行聊天。

Google Colab

Google Colab 是由 Google 托管的免费云服务,允许任何人通过浏览器编写和执行 Python 代码。

即使是免费账户,它也提供了访问 12GB RAM 的 T4 GPU,这对于运行 Mistral 7B 或 Llama 7B 这样的模型来说已经足够了。因为运行 7B 模型需要 8GB 的 RAM。

Ollama

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d96fbff02aa4319ad48e51b1b592df67.png

Ollamaollama.ai/

Ollama 对于我来说,是最好也是最简单的方式之一,可以快速开始使用开源 LLMs。它支持包括最强大的 LLMs,如 Llama 2、Mistral、Phi-2,您可以在 ollama.ai/library 上找到可用模型的列表。

Ngrok

Ngrok 是一个易于使用的工具,允许开发者以最小的努力将本地开发服务器暴露给互联网。本质上,它为您的主机创建了一个安全隧道,允许您在本地开发机器上共享一个网络服务,而无需更改防火墙设置或部署到公共服务器。

Enchanted

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/e60d0158211b332bedfd0caf56babbb0.png

Enchanted LLM

Enchanted 是一款 iOS/iPad 移动应用程序,用于与开源模型如 Llama 2、Mistral 等进行聊天。

它具有简单优雅的界面,连接到您的私有 Ollama 模型。它提供以下功能:

  • 支持最新的 Ollama Chat API
  • 对话历史包含在 API 调用中
  • 暗色/亮色模式
  • 对话历史存储在您的设备上
  • 支持 Markdown(优雅地显示表格/列表/代码块)
  • 语音提示
  • 用于提示的图片附件
  • 指定每个对话使用的系统提示
  • 编辑消息内容或使用不同模型提交消息
  • 删除单个对话 / 删除所有对话

来源:Enchanted Github


您需要什么

在深入技术设置之前,请确保您有以下条件:

1. Google Colab 账户

要使用 Google Colab,您首先需要登录您的 Google 账户,并通过colab.research.google.com/访问 Google Colab。

2. NGrok 账户和令牌

前往 NGrok 网站 并注册,如果您还没有账户的话。否则,登录,并请求一个 “Authtoken”。请安全地保存此令牌;我们将在我们的分步指南中稍后使用它。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/ee5b21a0b11a2eaca14c3c3bd006b8f7.png

需要 Authtoken。图片由作者提供。

3. 从 App Store 下载 Enchanted

通过以下链接在您的 iPhone 上下载并安装 Enchanted 应用程序:apps.apple.com/gb/app/enchanted-llm/id6474268307


步骤指南

第一步 – 在 Google Colab 上运行 Ollama

首先,打开一个新的 Google Colab 笔记本。为了确保我们正在使用 GPU,点击菜单中的“运行时”,选择“更改运行时类型”,然后选择“T4 GPU”作为硬件加速器。

现在,我们需要安装与 Ngrok 相关的依赖项并配置 authtoken。

!pip install aiohttp pyngrok !ngrok config add-authtoken[YOUR_NGROK_AUTHTOKEN]

然后,我们使用以下命令安装 Ollama。

!curl https://ollama.ai/install.sh|sh

现在,是时候在 NGrok 旁边运行 Ollama 了。在这个例子中,我们将配置 Ollama 同时运行 Mistral 和 Codellama 模型。这种设置允许我们稍后切换模型,为我们的聊天应用提供灵活性。

为了管理这些,我们将作为单独的后台进程运行它们:

  • Ollama 将在localhost:11434上启动模型。

  • 然后,NGrok 将将端口11434公开到互联网,并带有公共 URL。

执行以下代码片段以启动 Ollama 和 NGrok:

importosimportasyncio# Set LD_LIBRARY_PATH so the system NVIDIA libraryos.environ.update({'LD_LIBRARY_PATH':'/usr/lib64-nvidia'})asyncdefrun_process(cmd):print('>>> starting',*cmd)p=awaitasyncio.subprocess.create_subprocess_exec(*cmd,stdout=asyncio.subprocess.PIPE,stderr=asyncio.subprocess.PIPE,)asyncdefpipe(lines):asyncforlineinlines:print(line.strip().decode('utf-8'))awaitasyncio.gather(pipe(p.stdout),pipe(p.stderr),)awaitasyncio.gather(run_process(['ollama','serve']),run_process(['ollama','pull','mistral']),run_process(['ollama','pull','codellama']),run_process(['ngrok','http','--log','stderr','11434']),)

运行代码后,请关注日志。您将找到 NGrok 生成的公共 URL。让我们记下这个 URL,因为我们将在下一步中使用它通过 Enchanted 应用程序将我们的模型与 iPhone 连接起来。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/a79959b4ef4637d69744723639d5222f.png

日志示例。图片由作者提供。

第二步 – 在 Enchanted App 中配置端点

此步骤将连接 LLM 模型与您的 iPhone。

现在,切换到你的 iPhone,打开神秘应用,进入应用设置。指定你的服务器端点,使用我们在上一步登录时记录的公共 URL。它应该看起来像这样:“bb51-34-29-149-225.ngrok.io”。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/55788ba24a7362ea13b04510182d47dd.png

神秘应用设置。图片由作者提供

第 3 步 – 尝试并享受乐趣

好了!现在我们可以用我们的 iPhone 与 Mistral 7B 和 Codellama 进行聊天。

首先,让我们选择 Codellama 模型,并要求它给我们一个在 Python 中实现神经网络的代码示例。不错!

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d746d6436e730f7c84b8b8145864f5e8.png

与 codellama 的演示。图片由作者提供。

然后,迅速切换到 Mistral 7B,并考虑询问一些关于庆祝农历新年时可以准备哪些典型菜肴的想法(灵感来源于我的朋友汉·HELOIR,博士 ☕️最新文章“使用 AI 庆祝:Mistral 和 LLaVA 在树莓派上的农历新年技巧”)。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4ae6b3e3361a15fb4e9c7c608ece6b39.png

与 Mistral 的演示。图片由作者提供


结束语

我对我用开源 ChatGPT 获得的结果非常满意,包括响应的质量和令牌生成的速度。我对 UI 也非常满意,它非常简单易用。

我希望你喜欢这个指南,并从中获得灵感去探索开源 AI 的广阔天地。不要犹豫,回到 Ollama 并尝试不同的模型。每个模型都有其独特的优势和功能,提供不同的体验。

如同往常,你可以在这里找到我的 Google Colab 笔记本。

在你离开之前!🦸🏻‍♀️

如果你喜欢我的故事,并想支持我:

  1. 给 Medium 一些爱💕(点赞、评论和突出显示),你的支持对我来说意义重大。👏

  2. 在 Medium 上关注我并订阅以获取我的最新文章🫶

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:07:49

线程池优雅关闭:线程池生命周期管理:四种关闭策略的实战对比

《线程池优雅关闭:从暴力中断到平滑终止的设计艺术》 《destroy方法深度解析:如何安全地销毁线程池资源》 《线程池生命周期管理:四种关闭策略的实战对比》 《InterruptedException的哲学:线程池优雅关闭的核心机制》 一、线程…

作者头像 李华
网站建设 2026/4/18 4:50:28

深入理解 Java 获取 Class 对象的四种方式及类加载机制

在 Java 反射机制中,java.lang.Class 对象是所有操作的入口。无论是想在运行时创建对象、调用方法,还是获取注解,我们都必须先拿到这个“元数据对象”。但在实际开发中,获取 Class 对象的方式有多种,它们在触发时机、性…

作者头像 李华
网站建设 2026/4/18 6:59:56

版本、需求、代码管理制度如何设计

在软件研发管理中,版本、需求与代码管理是保障项目高效协作和稳定交付的三大支柱。**要设计科学的版本、需求与代码管理制度,核心在于统一规范、明确流程与工具化执行。**只有建立制度化的管理体系,才能确保开发节奏可控、代码质量可追溯、版…

作者头像 李华
网站建设 2026/4/17 18:59:28

图片转换神器,支持批量操作

今天在给大家介绍一款图片转换的小工具,非常好用,来自吾爱大神无知灰灰制作,能直接一键webp转png,秒杀付费软件,有需要的小伙伴可以下载收藏。 webp转为png 一键操作,支持压缩 因为作者工作中经常下载到we…

作者头像 李华
网站建设 2026/4/18 12:55:10

4DDiG File Repair(AI文件修复软件)

链接:https://pan.quark.cn/s/e8d0bb77da1bT4DDiG File Repair是一款由人工智能驱动的软件,专门用于修复受损或质量下降的视频、照片、文件和音频。它不仅能够改善媒体文件的质量,还能为黑白媒体内容增添色彩。4DDiG的照片编辑功能可以解决所…

作者头像 李华
网站建设 2026/4/17 17:00:02

小程序springboot新能源汽车4S店试驾平台_i3v8mexl

文章目录具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 同行可拿货,招校园代理 小程序springboot新能源汽车4S店试驾平台_i3v8mexl …

作者头像 李华