原文towardsdatascience.com/running-local-llms-is-more-useful-and-easier-than-you-think-f735631272adhttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d09d17f968849cf7b4f74506d66995ea.png由作者生成的 AI 图像1 为什么本地 LLM 很有用ChatGPT 非常棒毫无疑问但它有一个显著的缺点您所写或上传的一切都会存储在 OpenAI 的服务器上。尽管在许多情况下这可能没问题但在处理敏感数据时可能会成为问题。因此我开始探索可以在个人电脑上本地运行的开源 LLM。结果证明它们实际上有很多优点。数据隐私您的信息将保留在您的机器上。成本效益没有订阅费或 API 费用它们免费使用。定制模型可以使用您特定的系统提示或数据集进行微调。离线功能无需互联网连接。无限制使用不受外部 API 强加的限制。现在设置本地 LLM 出奇地简单。本文提供了一步一步的指南帮助您在本地机器上安装和运行开源模型。让我们开始吧2 安装 Ollama 和运行 Llama 3Ollama 是一个开源项目它允许您轻松地在个人电脑上本地运行大型语言模型LLM。它以其非常用户友好、超级轻量级以及提供广泛的预训练模型而闻名——包括来自 MetaLlama 3和 GoogleGemma 2的最新和最佳模型。所有这些公司都投入了数百万美元来训练这些模型以便我们可以在自己的机器上本地玩转它们。这不是很神奇吗Ollama 本身不过是一个空壳需要现成的 LLM 才能运行。在深入安装过程之前让我们看看可用的模型https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/b635bb615b91b5e0af1088f9f62c5130.pngOllama 中可用的模型列表非详尽截图来自 Ollama.com还有更多为了本文的目的我专注于 Meta 的最新模型称为 Llama 3它承诺提供惊人的性能。在撰写本文时它是平台最受欢迎的模型有 4.4M 次提取。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/67efe6709776943a2fbfadc77b9739ca.pngLlama 3 模型 – 来自 Ollama.com 的截图下面的步骤展示了如何在您的电脑上安装 Ollama用 Llama3 进行喂养并最终像使用 ChatGPT 一样使用该模型。步骤 1/2前往 ollama.com 并点击 “下载” – 由于我使用的是 macOS所以接下来的教程将重点介绍这个选项尽管它与 Linux 或 Windows 应该没有太大区别。点击 “为 macOS 下载”。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/b72fe31485c3c6ad9b3d3bb8c9226a6f.png步骤 1 和 2 – 来自 Ollama.com 的截图步骤 3/4/5:与任何其他应用程序一样只需遵循非常直接的安装步骤。点击 “安装”。点击 “下一步”。在您的终端中运行 “ollama run llama3”。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/38d52809a344e4fc7b76e86e96386116.png步骤 3、4 和 5 – 来自 Ollama.com 的截图最后这一步将首先在您的计算机上下载 8B 版本的 llama3约 4.7GB然后运行它。就这么简单https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/0f016b28f981886bb2c094e588783e50.png下载和运行 Llama 3 – 作者截图这篇文章可以在这里结束。点击几个按钮并输入一行代码后我们就可以在本地运行 LLM 了您可以询问任何问题例如解释 Llama 3 的 80 亿和 700 亿参数版本之间的区别。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/e6d8d7f03e378d75162799c67fdb732e.png使用 llama3 的示例提示 – 作者截图模型的响应时间通常取决于您的计算机的 GPU / RAM。3 一些有用的命令如果您想在终端中本地持续使用 LLM有一些基本命令似乎很重要ollama run llama3运行模型在本例中是 llama3ollama list列出已在本地安装的所有模型ollama pull mistral从平台上拉取另一个可用的模型在本例中是 mistral/clear一旦模型运行清除会话的上下文以重新开始/bye一旦模型运行退出 ollama/?一旦模型运行列出所有可用的命令对于更复杂的用例如创建新的微调模型存在许多更多命令。Ollama 的 GitHub 仓库是一个非常完整的文档。GitHub – ollama/ollama: 使用 Llama 3、Mistral、Gemma 2 和其他大型语言模型快速上手对于基本用例CLI 可能足够了但是还有更多…4 在 Jupyter Notebook 中运行 Llama 3通过终端使用 LLM 是可以的但通过 Python 代码与模型交互则打开了更多可能性。为了做到这一点我们需要使用 pip 安装 langchain_community 库_pip install langchaincommunity并导入 Ollama 包。假设我想为一个人创建一个简短的简介提供她的姓名、年龄和职业。在这个例子中代码将看起来像这样# !pip install langchain_community# Import the necessary packagefromlangchain_community.llmsimportOllama# Create a model instancellmOllama(modelllama3)# Use the model with a promptllm.invoke(Generate a short, 2-sentence bio for Alice, who is 25 years old and works as a Engineer)非常简单这是结果“这里是为 Alice 的一个可能的个人简介nnAlice 是一位 25 岁的工程师对创新问题解决充满热情擅长将复杂想法变为现实。她拥有坚实的机械工程基础和敏锐的观察力致力于创造对现实世界有真正影响解决方案。”可以通过正则表达式移除介绍部分来进一步细化这个输出。在终端中为单个人生成个人简介很容易然而对于许多人来说不使用 Python 就重复做同样的任务会变得繁琐。使用 Python提示可以参数化并且可以为许多人自动化这个过程。例如importpandasaspd# Create a sample DataFramedfpd.DataFrame({name:[Alice,Bob,Charlie],age:[25,30,35],occupation:[Engineer,Teacher,Artist]})# Create a function which can be applied to the dataframedefgenerate_bio(name,age,occupation):promptfGenerate a short, 2-sentence bio for{name}, who is{age}years old and works as a{occupation}returnllm.invoke(prompt)# Apply the function to the dataframedf[bio]df.apply(lambdarow:generate_bio(row[name],row[age],row[occupation]),axis1)df.head()现在对于模型生成的每一行 DataFrame都会生成一个个人简介5 最终想法这篇文章的目的是强调多亏了 Ollama在本地实现一个完全功能的 LLM 是多么简单。无论我们是通过终端进行简单的询问还是使用 Python 进行更复杂/自动化的任务这个过程都是直接的。感谢开源项目如 Open WebUI你甚至可以拥有自己的 ChatGPT-like 图形界面。我个人觉得只需几点击和几行代码我们就能得到这样有用的东西这真是令人印象深刻希望你也一样喜欢。感谢您阅读到文章的结尾。关注以获取更多信息如果您有任何问题/评论请随意留言或通过LinkedIn / X联系我每当 Guillaume Weingertner 发布时都会收到一封电子邮件