【大模型】Ollama+open-webui/Anything LLM部署本地大模型构建RAG个人知识库教程(Mac)

news2024/11/16 3:41:36

目录

一、Ollama是什么?

二、如何在Mac上安装Ollama

1. 准备工作

2. 下载并安装Ollama

3. 运行Ollama

4. 安装和配置大型语言模型

5. 使用Ollama

三、安装open-webui

1. 准备工作

2. Open WebUI ⭐的主要特点

3. Docker安装OpenWebUI,拉去太慢可以使用手动安装

4. 配置本地大模型LLaMA2-7B

5. 验证配置

四、使用Ollama + AnythingLLM构建类ChatGPT本地问答机器人系

学习目标

1. 下载AnythingLLM

2. 安装AnythingLLM

3. 配置AnythingLLM

3.1 选择LLM、嵌入模型和向量数据库

3.2 设置环境变量(如果需要)

3.3 权限管理(如果需要)

4. 构建知识库

5. 开始使用

6. 自定义集成(如果需要)

7. 监控和反馈

8. 注意事项

9. 额外信息

参考文章


一、Ollama是什么?

Ollama是一个功能强大的开源框架,旨在简化在Docker容器中部署和管理大型语言模型(LLM)的过程。以下是关于Ollama的详细介绍:

  1. 定义与功能
    • Ollama是一个开源的大型语言模型服务工具,它帮助用户快速在本地运行大模型。
    • 通过简单的安装指令,用户可以执行一条命令就在本地运行开源大型语言模型,如Llama 2。
    • Ollama极大地简化了在Docker容器内部署和管理LLM的过程,使得用户能够快速地在本地运行大型语言模型。
  2. 特点与优势
    • 功能齐全:Ollama将模型权重、配置和数据捆绑到一个包中,定义成Modelfile。
    • 优化设置与配置:它优化了设置和配置细节,包括GPU使用情况。
    • 易用性:用户无需深入了解复杂的部署和管理流程,只需简单的安装和配置即可使用。
    • 支持热加载:用户无需重新启动即可切换不同的模型。
  3. 支持的平台与模型
    • Ollama支持在Mac和Linux平台上运行。
    • 它支持运行多种开源大型语言模型,如Llama 2。
  4. API与界面
    • Ollama提供了类似OpenAI的API接口和聊天界面,方便用户部署和使用最新版本的GPT模型。
  5. 安装与部署
    • Ollama的安装过程被极大地简化,并提供了多种选择,包括Docker镜像。

综上所述,Ollama是一个为在本地运行大型语言模型而设计的强大、易用、功能齐全的开源框架。它通过优化设置和配置,简化了在Docker容器中部署和管理LLM的过程,使得用户能够快速、方便地在本地运行大型语言模型。

二、如何在Mac上安装Ollama

在Mac上安装Ollama的步骤如下,结合了参考文章中的信息,并进行了适当的总结和归纳:

1. 准备工作

  • 确认系统兼容性:Ollama支持在Mac上运行,但请确保您的Mac满足运行大型语言模型所需的最低系统要求。
  • 检查存储空间:安装和运行Ollama以及大型语言模型可能需要较大的磁盘空间。请确保您的Mac有足够的存储空间。

2. 下载并安装Ollama

  • 访问Ollama官网:前往Ollama的官方网站(如:https://ollama.com/)下载适用于Mac的安装包。
  • 下载安装包:在官网找到适用于Mac的下载链接,下载Ollama的安装包。
  • 安装Ollama:双击下载的安装包,按照提示完成安装过程。

3. 运行Ollama

  • 打开终端:在Mac上打开终端(Terminal)。
  • 运行命令:在终端中,输入相应的命令来启动和运行Ollama。例如,使用ollama pull llama3命令来拉取并安装Llama 3模型(请注意,这只是一个示例命令,具体命令可能因Ollama的版本和您的需求而有所不同)。
  • 下载llama2地址: llama2
  • 下载命令:ollama run llama2:7b

4. 安装和配置大型语言模型

  • 选择模型:根据您的需求选择合适的大型语言模型。Ollama支持多种开源大型语言模型,如Llama 2、Llama 3等。
  • 安装模型:使用Ollama提供的命令来安装所选的模型。例如,使用ollama pull llama3命令来安装Llama 3模型。
  • 配置模型:根据模型的文档和说明,进行必要的配置和设置。这可能包括设置模型的参数、配置GPU使用情况等。

5. 使用Ollama

  • 启动服务:在成功安装和配置模型后,您可以使用Ollama提供的命令或API来启动和运行模型服务。
  • 访问和使用:通过Ollama提供的Web界面或API接口,您可以访问和使用已部署的大型语言模型进行各种任务,如文本生成、问答等。
  • API调用

    curl http://localhost:11434/api/generate -d '{

    "model": "llama2:7B",

    "prompt":"Why is the sky blue?"

    }'

  • 回答问题时CPU100%,MAC M1 8G内存

请注意,以上步骤和命令可能因Ollama的版本和您的具体需求而有所不同。建议您参考Ollama的官方文档和社区资源,以获取最准确和最新的安装和使用指南。

三、安装open-webui

1. 准备工作

  1. 安装Docker环境:确保你的系统上已经安装了Docker Desktop。你可以从Docker官网下载并安装适合你操作系统的Docker Desktop版本。
  2. 配置Docker以支持GPU(可选):如果你的本地有GPU,并且希望利用GPU加速大模型效果,你需要在Docker Desktop中配置GPU支持。这通常涉及到在Docker Desktop的设置中启用GPU支持,并安装相应的驱动程序和软件。
  3. 可参考文章:Macbook m1安装docker详细教程_mac m1安装docker-CSDN博客

2. Open WebUI ⭐的主要特点

GitHub - open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI)

  • 🚀 轻松设置:使用 Docker 或 Kubernetes(kubectl、kustomize 或 helm)无缝安装,提供无忧体验,同时支持标记映像和标记映像。:ollama:cuda

  • 🤝 Ollama/OpenAI API 集成:轻松集成兼容 OpenAI 的 API,与 Ollama 模型进行多功能对话。自定义 OpenAI API URL 以链接 LMStudio、GroqCloud、Mistral、OpenRouter 等

  • 🧩 Pipelines、Open WebUI 插件支持:使用 Pipelines 插件框架将自定义逻辑和 Python 库无缝集成到 Open WebUI 中。启动您的 Pipelines 实例,将 OpenAI URL 设置为 Pipelines URL,探索无限可能。示例包括函数调用、控制访问的用户速率限制、使用 Langfuse 等工具进行使用情况监控、使用 LibreTranslate 提供多语言支持的实时翻译、有害消息过滤等等。

  • 📱 响应式设计:在台式电脑、笔记本电脑和移动设备上享受无缝体验。

  • 📱 适用于移动设备的渐进式 Web 应用程序 (PWA):使用我们的 PWA 在您的移动设备上享受类似本机应用程序的体验,提供对 localhost 的离线访问和无缝的用户界面。

  • ✒️🔢 完整的 Markdown 和 LaTeX 支持:通过全面的 Markdown 和 LaTeX 功能提升您的 LLM 体验,以实现丰富的交互。

  • 🛠️ 模型生成器:通过 Web UI 轻松创建 Ollama 模型。通过 Open WebUI 社区集成,轻松创建和添加自定义角色/代理、自定义聊天元素和导入模型。

  • 📚 本地 RAG 集成:通过突破性的检索增强生成 (RAG) 支持,深入了解聊天交互的未来。此功能将文档交互无缝集成到您的聊天体验中。您可以将文档直接加载到聊天中或将文件添加到文档库中,在查询之前使用命令轻松访问它们。#

  • 🔍 RAG 的 Web 搜索:使用 、 、 、 和 等提供程序执行 Web 搜索,并将结果直接注入到聊天体验中。SearXNGGoogle PSEBrave Searchserpstackserper

  • 🌐 Web 浏览功能:使用后跟 URL 的命令将网站无缝集成到您的聊天体验中。此功能允许您将 Web 内容直接合并到您的对话中,从而增强交互的丰富性和深度。#

  • 🎨 图像生成集成:使用 AUTOMATIC1111 API 或 ComfyUI(本地)和 OpenAI 的 DALL-E(外部)等选项无缝整合图像生成功能,通过动态视觉内容丰富您的聊天体验。

  • ⚙️ 许多模型对话:毫不费力地同时与各种模型互动,利用它们的独特优势来获得最佳响应。通过并行利用各种模型来增强您的体验。

  • 🔐 基于角色的访问控制 (RBAC):确保使用受限权限进行安全访问;只有经过授权的个人才能访问您的 Ollama,并且为管理员保留独家模型创建/拉取权限。

  • 🌐🌍 多语言支持:通过我们的国际化 (i18n) 支持,以您的首选语言体验 Open WebUI。加入我们,扩展我们支持的语言!我们正在积极寻找贡献者!

  • 🌟 持续更新:我们致力于通过定期更新、修复和新功能来改进 Open WebUI。

想了解更多关于Open WebUI的功能吗?查看我们的 Open WebUI 文档,了解全面概述!

3. Docker安装OpenWebUI,拉去太慢可以使用手动安装

下载太慢,需要配置docker国内镜像仓库,参考这篇文章:

MacOS上配置docker国内镜像仓库地址_mac docker配置镜像源-CSDN博客

如果163也很慢,建议配置阿里云镜像地址,需要登陆阿里云 不过配置发现更慢!手动下载了

拉取Open-WebUI镜像:使用Docker命令从GitHub Container Registry拉取Open-WebUI的镜像。例如,你可以运行以下命令来拉取最新的Open-WebUI镜像:

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

4. 配置本地大模型LLaMA2-7B

  1. 下载LLaMA2-7B模型:你需要从适当的来源(如Hugging Face的模型仓库)下载LLaMA2-7B模型的文件。由于模型文件可能非常大,下载可能需要一些时间。确保你有足够的存储空间来存储这些文件。
  2. 配置Open-WebUI以使用LLaMA2-7B模型:Open-WebUI允许你通过配置文件或环境变量来指定要使用的模型。你需要根据你的Open-WebUI版本和配置方式,将LLaMA2-7B模型的路径或位置配置到Open-WebUI中。具体的配置方法可能因Open-WebUI版本而异,请参考Open-WebUI的官方文档或GitHub仓库中的说明进行配置。
  3. 重启Open-WebUI容器:在配置完Open-WebUI以使用LLaMA2-7B模型后,你需要重启Open-WebUI容器以使配置生效。你可以使用Docker命令来停止并重新启动容器,或者如果Open-WebUI支持热重载配置,你也可以尝试重新加载配置而不必重启容器。

5. 验证配置

  1. 访问Open-WebUI界面:在配置完成后,你可以通过浏览器访问本地的3000端口来访问Open-WebUI的界面。在界面上,你应该能够看到已经配置好的LLaMA2-7B模型,并可以开始使用它进行对话或其他任务。
  2. 测试LLaMA2-7B模型:在Open-WebUI界面中,你可以尝试与LLaMA2-7B模型进行对话或执行其他任务来验证配置是否正确。如果一切正常,你应该能够看到LLaMA2-7B模型对你的输入做出合理的响应。

四、使用Ollama + AnythingLLM构建类ChatGPT本地问答机器人系

学习目标

  • 使用开源软件Ollama+AnythingLLM构建本地类ChatGPT问答机器人系统
  • 熟悉和了解基于LLM的本地RAG知识库搭建原理和逻辑,替换符合国内的LLM工具
  • 学会安装、配置、使用问答系统,找出符合企业私有化客服(对内)的产品规划逻辑
  • 对比和发现问题,寻找优劣点

当在MAC上安装AnythingLLM时,以下是更详细的步骤,结合了参考文章中的信息:

1. 下载AnythingLLM

  • 访问AnythingLLM的官方网站:Download AnythingLLM for Desktop(注意:链接可能随时间而变化,请以最新信息为准)。
  • 在下载页面选择适用于MacOS的桌面版dmg文件,点击下载。

2. 安装AnythingLLM

  • 下载完成后,找到下载的dmg文件,双击打开。
  • 跟随安装向导的指示,完成AnythingLLM的安装过程。
  • 安装完成后,打开AnythingLLM应用。初次启动可能需要一些时间进行初始化操作。

3. 配置AnythingLLM

3.1 选择LLM、嵌入模型和向量数据库
  • 在AnythingLLM应用中,根据需求选择或下载适当的大语言模型(LLM)、嵌入模型和向量数据库。
    • LLM:AnythingLLM支持多种LLM,包括但不限于OpenAI的GPT系列、Gemini、Mistral等。
    • 嵌入模型:可以选择内置的嵌入模型或下载其他模型,如OpenAI、LocalAi、Ollama等提供的嵌入模型。
    • 向量数据库:默认使用内置的LanceDB,但也可以选择其他如Chroma、Milvus、Pinecone等。
3.2 设置环境变量(如果需要)
  • 根据AnythingLLM的文档说明,如有需要,设置所需的环境变量,例如OLLAMA_MODELS
3.3 权限管理(如果需要)
  • 如果是企业级应用,可以设置多用户并进行权限管理,确保数据的安全性。

4. 构建知识库

  • 在AnythingLLM中,通过“选择知识”按钮上传文档或给定知识文件链接(支持PDF、TXT、DOCX等文档格式)。
  • 将文档通过嵌入模型转化为向量,并保存到向量数据库中。这个过程可能需要一些时间,具体取决于文档的大小和系统的性能。

5. 开始使用

  • 配置完成后,就可以在AnythingLLM中进行基于检索增强生成(RAG)的聊天或问答了。
  • 可以创建自己的工作区(workspace),设置不同的配置,并开始与LLM进行交互。

6. 自定义集成(如果需要)

  • 如果需要,可以使用AnythingLLM的开发者API进行自定义集成,以满足特定的业务需求。

7. 监控和反馈

  • 利用AnythingLLM的遥测功能来监控应用的使用情况。
  • 如果遇到问题或需要改进,可以通过创建issue或PR来提供反馈。

8. 注意事项

  • 定期检查并更新AnythingLLM和相关的模型、嵌入模型、向量数据库,以获取最佳的性能和安全性。
  • 注意保护个人隐私和知识产权,确保上传的文档内容合法合规。

9. 额外信息

  • AnythingLLM是一个全栈应用程序,允许用户将任何文档、资源或内容转化为任何LLM在聊天过程中可以用作参考的上下文。
  • 该应用程序支持多种LLM、嵌入器和向量数据库,并提供了多用户支持和权限管理功能。
  • 通过AnythingLLM,用户可以在本地或云端搭建个性化的聊天机器人系统,无需复杂设置。

参考文章

Ollama-0001-安装

Ollama:本地大模型运行指南

ollama+open-webui,本地部署自己的大模型_ollama的webui如何部署-CSDN博客

Macbook m1安装docker详细教程_mac m1安装docker-CSDN博客

MacOS上配置docker国内镜像仓库地址_mac docker配置镜像源-CSDN博客

第九期: 使用Ollama + AnythingLLM构建类ChatGPT本地问答机器人系统 - 知乎 (zhihu.com)

AI小白使用Macbook Pro安装llama3与langchain初体验_mac安装llama3-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1793072.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作系统教材第6版——个人笔记3

2.1 处理器 2.1.1 处理器与寄存器 处理器部件的简单示意 用户程序可见寄存器 可以使程序员减少访问主存储器的次数,提高指令执行的效率所有程序可使用,包括应用程序和系统程序数据寄存器:又称通用寄存器地址寄存器:索引、栈指针…

妙手ERP接入TEMU美国本土店,支持高效产品刊登、订单管理、库存管理

​​​​​​​ 众所周知,拼多多向来是低价卷王,而TEMU完美继承了拼多多的基因,靠着全托管模式一路狂奔,两年多便扩展至全球60个国家与地区,市场规模预计达到450亿美元,吸引着越来越多的卖家入驻。 在平台…

32C3-2模组与乐鑫ESP32­-C3­-WROOM­-02模组原理图、升级口说明

模组原理图: 底板原理图: u1 是AT通信口,wiif-tx wifi-rx 是升级口,chip-pu是reset复位口,GPIO9拉低复位进入下载模式 ESP32-WROOM-32 系列硬件连接管脚分配 功能 ESP32 开发板/模组管脚 其它设备管脚 下载固件…

Unity DOTS技术(八)状态组件

文章目录 一,简介二.实例 一,简介 因为在ECS中没有回调,因而无从得知组件是否被销毁.所以我们需要使用ISystemStateComponentData. 什么时ISystemStateComponentData状态组件? 当物体被销毁时ISystemStateComponentData组件不会被销毁.因而我们可以在组件被销毁时在该组件中…

搭建大型分布式服务(三十八)SpringBoot 整合多个kafka数据源-支持protobuf

系列文章目录 文章目录 系列文章目录前言一、本文要点二、开发环境三、原项目四、修改项目五、测试一下五、小结 前言 本插件稳定运行上百个kafka项目&#xff0c;每天处理上亿级的数据的精简小插件&#xff0c;快速上手。 <dependency><groupId>io.github.vipjo…

Clo3D导出服装动画,使用Unity3D展示

1.前言 Clo3D是一款应用于时装行业的3D服装设计软件,其强大的布料模拟算法可在3D空间中实现设计、制版、试衣和走秀,大幅提升数字作品逼真度和制作效率。为了让服装动画效果展示在Unity3D上模拟效果&#xff0c;需要Clo3D模拟出逼着的衣服动画。总体流程为Clo3D - Mixamo -Blen…

废酸再生工艺的稳定性强优势

废酸再生工艺&#xff0c;作为现代工业中一项重要的环保技术&#xff0c;其核心目的是将工业生产过程中产生的废酸进行回收、处理和再利用&#xff0c;以实现资源的节约和环境的保护。这一工艺不仅有助于减少废酸对环境的污染&#xff0c;还能为企业带来显著的经济效益。 一、废…

idea实用快捷键(持续更新...)

文章目录 1、快速输入try/catch/finally2、选中多个光标3、实现接口4、方法参数提示5、查看某个类的子类6、弹出显示查找内容的搜索框 1、快速输入try/catch/finally CtrlAltT 2、选中多个光标 ShiftAlt单机多选 End可以全部到行尾&#xff0c;Home则可以全部回到行首 3、实现接…

MySQL的增删改查2

文章目录 1. 数据库约束1.1 约束类型1.2 NOT NULL约束1.3 UNIQUE唯一约束1.4 DEFAULT默认值约束1.5 PRIMARY KEY主键约束1.6 FOREIGN KEY外键约束1.7 CHECK约束 2. 新增3. 查询3.1 聚合查询3.1.1 聚合函数3.1.2 GROUP BY子句3.1.3 HAVING 3.2 联合查询3.2.1 内连接3.2.2 外连接…

慧天卓特:2024年“一带一路”之哈萨克斯坦旱情监测案例分析(FYDI)

引言 联合国防治荒漠化公约组织指出&#xff1a;中亚约有1200万人生活在干旱风险高的地区&#xff0c;面积约为4000万公顷。位于亚洲中部的哈萨克斯坦共和国&#xff08;简称哈萨克斯坦&#xff09;和中国有着长期友好的睦邻和经贸关系&#xff0c;中国是哈萨克斯坦的主要农产…

C++:day3

思维导图 练习题 #include <iostream> using namespace std;class Per { private:string name;int age;int *height;double weight;public:Per(){cout << "Per::无参构造函数" << endl;}Per(string name, int age, int height, double weight) :…

2004NOIP普及组真题 2. 花生采摘

线上OJ&#xff1a; 【04NOIP普及组】花生采摘 核心思想&#xff1a; 1、本题为贪心即可。 2、因为本题严格限制了顺序&#xff0c;所以先把每个节点的花生数量按降序排序。然后逐一判断下一个花生是否需要去采摘即可 3、每一次采摘完&#xff0c;记录耗时 t 以及采集的花…

GPT-4o(OpenAI最新推出的大模型)

简介&#xff1a;最近&#xff0c;GPT-4o横空出世。对GPT-4o这一人工智能技术进行评价&#xff0c;包括版本间的对比分析、GPT-4o的技术能力以及个人感受等。 方向一&#xff1a;对比分析 GPT-4o&#xff08;OpenAI最新推出的大模型&#xff09;与GPT-4之间的主要区别体现在响应…

SSM框架整合,内嵌Tomcat。基于注解的方式集成

介绍&#xff1a; SSM相信大家都不陌生&#xff0c;在spring boot出现之前&#xff0c;SSM一直是Java在web开发中的老大哥。现在虽说有了spring boot能自动整合第三方框架了&#xff0c;但是现在市面上任然有很多老项目是基于SSM技术的。因此&#xff0c;能熟练掌握SSM进行开发…

Python接入淘宝API接口采集商品详情页到手价优惠券信息数据:智能化营销的加速器

在电子商务领域&#xff0c;智能化营销正在成为提高效率和竞争力的关键。淘宝API提供了一套完整的解决方案&#xff0c;帮助商家实现智能化营销&#xff0c;从而提升销售业绩和顾客满意度。 库存管理&#xff1a; 淘宝API使商家能够实时监控库存水平&#xff0c;自动补货&#…

【康耐视国产案例】智能AI相机:深度解析DataMan 380大视野高速AI读码硬实力

随着读码器技术的不断更新迭代&#xff0c;大视野高速应用成为当前工业读码领域的关键发展方向。客户对大视野高速读码器的需求源于其能显著减少生产成本并提升工作效率。然而&#xff0c;大视野应用场景往往伴随着对多个条码的读取需求&#xff0c;这无疑增加了算法的处理负担…

VCAST创建单元测试工程

1. 设置工作路径 选择工作目录,后面创建的 UT工程 将会生成到这个目录。 2. 新建工程 然后填写 工程名称,选择 编译器,以及设置 基础路径。注意 Base Directory 必须要为代码工程的根目录,否则后面配置环境会失败。 这样工程就创建好了。 把基础路径设置为相对路径。 …

LabVIEW储油罐监控系统

LabVIEW储油罐监控系统 介绍了基于LabVIEW的储油罐监控系统的设计与实施。系统通过集成传感器技术和虚拟仪器技术&#xff0c;实现对储油罐内液位和温度的实时监控&#xff0c;提高了油罐监管的数字化和智能化水平&#xff0c;有效增强了油库安全管理的能力。 项目背景 随着…

算法与数据结构高手养成:朴素的贪心法(下)二分答案

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

Plotly的魔力:如何用Python创建令人惊叹的图表?

大家好&#xff0c;在数据分析和可视化领域&#xff0c;图表是不可或缺的工具。它们可以帮助我们更直观地理解数据趋势和模式。今天&#xff0c;我们要介绍的是一个强大的Python库——Plotly&#xff0c;它可以让你轻松创建交互式、漂亮的图表。无论你是数据科学家、分析师&…