news 2026/10/5 5:49:18

如何使用您的 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/10/4 3:43:11

Elasticsearch日志分析系统部署全流程解析

从零构建企业级日志分析平台:Elasticsearch 实战部署全记录你有没有遇到过这样的场景?线上服务突然报错,几十台服务器的日志散落在各处,运维人员疯狂地ssh登录、tail -f查看、手动 grep 搜索……半小时过去了,问题还没…

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

springboot和vue框架的校内学生兼职信息管理系统_j57h35n4

文章目录具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 同行可拿货,招校园代理 springboot和vue框架的校内学生兼职信息管理系统_j57h35n…

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

[CISCN2019 总决赛 Day1 Web4]Laravel1

1.打开是一个反序列化的入口 <?php //backup in source.tar.gznamespace App\Http\Controllers;class IndexController extends Controller {public function index(\Illuminate\Http\Request $request){$payload$request->input("payload");if(empty($paylo…

作者头像 李华
网站建设 2026/10/3 10:43:29

家庭网络升级第一步:软路由新手实战搭建示例

从零开始搭建家庭软路由&#xff1a;新手也能轻松上手的实战指南 你有没有遇到过这样的场景&#xff1f; 家里Wi-Fi信号明明满格&#xff0c;但手机刷网页总卡顿&#xff1b;孩子上网课突然掉线&#xff0c;打游戏延迟飙到“飞起”&#xff1b;刚装了NAS想远程访问&#xff0…

作者头像 李华
网站建设 2026/10/5 3:33:00

手机重复照片清理 Duplicate Photo Cleaner

链接&#xff1a;https://pan.quark.cn/s/8be05a5e6e8bDuplicate Photo Cleaner是一款完全免费的手机重复照片清理软件&#xff0c;如果你怀疑自己的手机中存在重复照片的话&#xff0c;那么这款软件就可以派上用场&#xff0c;它可以帮助你清理掉大量重复的照片&#xff0c;有…

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

KMP全能视频播放器KMPlayer

链接&#xff1a;https://pan.quark.cn/s/5e87e7fdc5c4KMPlayer 是世界知名的多媒体播放器媲美PotPlayer &#xff0c;平均每月播放15亿次&#xff0c;可以播放电影&#xff0c;戏剧&#xff0c;音乐和其他内容。支持各种编解码器和3D&#xff0c;4K&#xff0c;UHD等高清服务&…

作者头像 李华