如何使用Ollama和OpenWebUI构建你的自定义Llama 3.1聊天机器人:一步一步指南

介绍

在当今的科技时代,聊天机器人作为一种自动化客户服务、提供个性化支持和优化业务流程的方式越来越受欢迎。随着会话式人工智能的兴起,构建您自定义的聊天机器人变得更加容易和可访问。在本文中,我们将探讨如何使用LLaMA 3.1和OpenWebUI构建自定义聊天机器人。

How to Build Your Own Custom Chatbot with LLaMA 3.1 and OpenWebUI: A Step-by-Step Guide

什么是聊天机器人?

聊天机器人是使用自然语言处理(NLP)模拟与人类对话的计算机程序。它们可以集成到网站、消息应用程序,甚至智能音箱等物理设备中。聊天机器人具有各种应用,从简单的客户支持聊天机器人到更复杂的可以执行预约或回答技术问题等任务的机器人。

什么是LLaMA和Ollama?

LLaMA(大型语言模型 Meta AI)是由 Meta(前身为 Facebook)开发的一系列先进语言模型。这是由 Meta 开发的强大模型,可以执行各种任务,从回答问题和生成文本到翻译语言甚至创建图像。 LLaMA 模型有各种不同尺寸,从资源消耗较少的较小版本到超大的 700 亿参数模型。这些模型非常适用于研究和实际应用,如聊天机器人、内容创建等。

Ollama(奥拉玛),另一方面,是一个平台或工具,通过提供用户友好的API简化与像LLaMA这样的AI模型一起工作。它充当一个界面,用于在生产环境中部署、管理和与这些模型进行交互,使企业和开发人员更容易将AI功能集成到他们的应用程序中。

在本文中,我们将重点介绍如何使用OpenWebUI部署LLaMA 3.1,这是LLaMA的一个强大版本,并向您展示如何构建一个自定义聊天机器人。

为什么选择LLaMA 3.1和OpenWebUI?

LLaMA(Large Language Model Application)是由Meta AI开发的人工智能模型,专门为对话界面设计。它是构建聊天机器人的强大工具,能够以非凡的准确性理解和响应自然语言输入。

OpenWebUI 是一个基于网页的界面构建工具,允许您为您的聊天机器人创建自定义界面,而无需深入的编码知识。通过 OpenWebUI,您可以设计视觉吸引人的界面,与您品牌的身份和风格相匹配。

逐步指南:建立您的定制聊天机器人

步骤1:先决条件:首选的最低硬件和软件要求

对于LLaMA 3.1 (8B)型号:

  • GPU:至少要有16GB VRAM的 NVIDIA 或类似产品(最低要求),但推荐24GB或更多以获得更流畅的运行。
  • 内存:64 GB 或更多系统内存,也可以使用32 GB,但会严重影响性能。
  • 磁盘空间:至少需要50GB的免费磁盘空间(用于存储模型权重和缓存)
  • CUDA版本:11.6或更高
  • 操作系统: Linux或Windows(Linux更为优选,可提高与人工智能/机器学习框架的兼容性)

对于 LLaMA 3.1 (70B) 型号:

  • GPU:NVIDIA或类似的,至少40GB的VRAM(64GB VRAM为理想)。
  • RAM:至少128GB的系统内存以确保平稳运行(处理大型模型时最好使用256GB)。
  • 磁盘空间:150GB+ 的空闲磁盘空间用于模型权重、检查点和缓存数据
  • CUDA 版本:11.6 或更高
  • 操作系统: 建议使用Linux(Windows兼容性可能会有所不同)

注意:模型越大,就需要更多的GPU内存和系统RAM。为了获得最佳性能和更流畅的训练或推理过程,需要高性能的GPU。

步骤2:安装Ollama

Ollama源代码可在Git Hub上获取。您可以通过阅读此ReadMe文件上的说明,轻松克隆到您的系统并进行手动安装,但要实现便捷和一键安装,请按照下一步骤进行操作。

对于Linux

运行这个命令后,它将在您的系统上安装Ollama。

curl -fsSL https://ollama.com/install.sh | sh

对于 macOS

请点击此链接在macOS上安装Ollama。

对于Windows(处于预览状态)

您可以通过访问此链接在Windows上安装Ollama

Docker 容器

官方的Ollama Docker镜像可在Docker Hub上找到。

以下是手动安装的说明。

步骤3:下载Llama 3.1模型

下面的命令对所有平台都适用。您需要在您的系统上打开终端,并首先运行此命令。

# ollama 8B (4.7G)
ollama run llama3.1

它将下载预先训练的Llama3.1模型。

请注意,这可能需要一些时间,因为Ollama 需要先下载预先训练的模型,然后在终端控制台上运行该模型。

Llama 3.1 是 Meta 的一个新型号,有三种不同大小可供选择,即8B、70B和405B参数大小。

羊驼3.1系列模型:

  • 8B(4.7 GB)
  • 70B (40 GB) 70B (40 GB)
  • 405B(231 GB)

在成功下载后,您应该看到聊天提示在终端控制台上打开,您可以随意提示任何问题,问任何问题,llama3.1将作出相应回应。

第4步:本地运行

让我们启动Ollama服务器,在终端中运行以下命令:

ollama serve

这将在127.0.0.1:11434上启动Ollama服务器。

步骤5: 使用Ollama运行Llama3

在单独的终端中,您可以再次运行Llama!只需在命令行界面上运行以下命令:

ollama run llama3.1

它将运行默认的羊驼3.1 8B模型,您可以与之交互。如果您想运行另一个模型,只需键入完整的名称和参数大小。

例如,如果您想运行经过优化的lama3.1 8B模型,那么您可以简单地在终端中输入并运行此命令。

ollama run llama3.1:8b-instruct-fp16

这将下载lama3.1:8b-instruct-fp16模型(如果尚未下载),并运行此模型。现在您可以通过发送提示并接收生成的输出,与您本地部署的lama模型进行交互。

步骤6:Ollama REST API

为了使用API测试模型,您可以使用HTTP客户端(例如CURL)发送请求到http://localhost:11434。例如:

生成一个响应

curl http://localhost:11434/api/generate -d '{
"model": "llama3.1",
"prompt":"What is LLM?"
}'

与模特聊天

curl http://localhost:11434/api/chat -d '{
"model": "llama3.1",
"messages": [
{ "role": "user", "content": "What is LLM?" }
]
}'

有关Ollama API及其端点的更多信息,请访问API文档。

现在假如你想让它像ChatGPT一样,你可以快速地去到浏览器,访问它,打开聊天窗口,给出提示并且接收输出,就像ChatGPT一样?听起来很难建立吗?实际上,不是。相反地,这很简单。

有一个开源工具叫做OpenWebUI,可以帮助快速实现这一点。

步骤7:安装Docker

我假设您的系统上已经安装了Docker,但如果您尚未安装,不用担心,您可以简单地点击这个链接,并根据您的操作系统安装Docker。

步骤8:拉取并运行Open WebUI容器

一旦安装了Docker,在终端运行此命令以拉取OpenWebUI容器并运行它:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

第9步:打开WebUI

打开一个网络浏览器,访问http://localhost:3000。现在你应该看到 OpenWebUI GUI。然后将要求你创建一个账户或者登录,如果你已经在第一次创建了管理员账户。

步骤10:选择您的型号

点击“选择一个模型”,从可用模型的列表中选择羊骆驼3.1:8B或8B-instruct(如果您已经下载了它)。这将下载必要的文件并为您与模型的交互准备环境。

第11步:与Llama 3.1聊天

现在您已经准备好使用Open WebUI界面与Llama 3.1模型开始聊天了。您可以提出问题,提供输入,上传文件,或者只是探索这个强大语言模型的能力。

这是一个快速的例子!

通过以下步骤,您将能够安装和使用Open WebUI与Ollama和Llama 3.1模型,为您的人工智能项目打开无限可能的世界。

排除故障

在Linux系统上,如果您在OpenWebUI GUI的列表中访问或选择可用的Llama模型时遇到问题,或者根本看不见它们,则可能需要修改docker run命令,并使用此命令重新运行OpenWebUI Docker容器。

docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 -me open-webui --restart always ghcr.io/open-webui/open-webui:main

你现在应该能够通过浏览器上的这个链接访问OpenWebUI界面。

http://:8080/ 或 http://localhost:8080/

结论

使用LLaMA 3.1和OpenWebUI构建自定义聊天机器人是一个简单的过程,只需要最基本的编码知识。按照以下步骤,您可以创建一个强大的对话界面,以一种更类似于人类的方式与用户互动。

愉快提示!

👍 不要忘记点赞,分享,并保存这个以供以后参考!传播知识。

🔔 关注Muhammad Usama Khan,获取更多关于云计算、DevOps、人工智能/数据、SRE和云原生的深入内容。

2024-09-24 04:25:56 AI中文站翻译自原文