宿州市网站建设_网站建设公司_网站建设_seo优化
2025/12/23 0:02:10 网站建设 项目流程

原文: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 上关注我并订阅以获取我的最新文章🫶

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询