在Mac mini上实现本地话部署AI和知识库

在Mac mini上实现本地话部署AI和知识库

  • 硬件要求:
    • 大模型AI,也叫LLM,需要硬件支持,常见的方式有2种:一种是采用英伟达之类支持CUDA库的GPU芯片或者专用AI芯片;第二种是采用苹果M系列芯片架构的支持统一内存架构的硬件;
  • 软件要求:
    • 软件基于ollama + anything LLM
    • 模型主要选择的是OpenChat,感觉openchat的中文支持比较好
  • 步骤
    • 先安装Ollama,步骤也很简单,主要下载官网的安装包安装即可;以下是下载页链接:[https://ollama.com/download](https://ollama.com/download)
    • 安装完了Ollama之后,就可以在终端里用Ollama run openchat,
    • 现在大模型本地安装就完成了,接下来就可以继续部署本地的知识库;
    • 本地知识库的部署:
    • anythingLLM的安装。
    • 可以说,AI的出现就是懒人的福音,基本上你按照官网的指引来做不会有什么难的。唯独是如果英语阅读可能对某些同学有点障碍,不过这种障碍估计很快也要被AI消除了。
    • anthingLLM的配置,资料的投喂,搜索检验。
    • 总结,下一步考虑把系统的bug list喂给AI模型,看看能不能方便地查到有用的东西。
    • 投喂网页数据之前的查询:
    • 投喂数据之后的查询:

硬件要求:

大模型AI,也叫LLM,需要硬件支持,常见的方式有2种:一种是采用英伟达之类支持CUDA库的GPU芯片或者专用AI芯片;第二种是采用苹果M系列芯片架构的支持统一内存架构的硬件;

本文主要讲基于苹果M系列的方式,采用的内存建议16M,8M内存也能支持,但支持模型会比较少;除此之外,即使普通的电脑,如果你的内存够大,CPU够快,也是可以运行一些小的模型的,只是速度上会比较慢,CPU占用比较高,具体情况大家可以实际体验一下,例如我用一台T460,Intel i5 4核2.3G x4,16G内存,显卡GeForce 940MX/PCIe/SSE2,运行Ollama openchat 4B模型,一分钟大概生成100个词左右。

软件要求:

软件基于ollama + anything LLM

模型主要选择的是OpenChat,感觉openchat的中文支持比较好

步骤

先安装Ollama,步骤也很简单,主要下载官网的安装包安装即可;以下是下载页链接:https://ollama.com/download

安装完了Ollama之后,就可以在终端里用Ollama run openchat,

这样第一次执行的话,会自动拉取模型,建议选择8B左右大小的,8B就是8billion,也就是80亿参数,模型文件的大小大概是8G左右;以下是模型的说明:openchat;等下载完模型之后,就可以在终端里直接使用模型,输入一些问题,可以看到模型有回复,就说明正常运行了,如果机器的硬件不支持,例如内存不够,可能会比较慢;运行效果

现在大模型本地安装就完成了,接下来就可以继续部署本地的知识库;

本地知识库的工作原理是通过人工投喂特定的数据给大模型,使大模型可以在我们投喂的数据里学习到特定的知识,这样当用户向大模型提问的时候,就可以从我们投喂的数据里匹配响应的结果给我们;目前这种技术常见应用于电商平台的AI客服上;但不限于这种场景,对于公司内部的经验库管理也是挺适合的,对于个人的桌面电脑,也会有很好的帮助;本地知识库具有保密性的优势,不必把公司内部的资料上传到外部云端,或者第三方,而且没有常见的数据规模上的约束,所以以后会是一个受欢迎的方式;

本地知识库的部署:

本地知识库使用anything LLM来实现;工作原理就是使用一个embeding模型来对文档进行词向量的提取;词向量是一个专业术语,是人工智能对人类的文件的一种编码方式。可以理解为把学习到的词语投射到二维坐标上,意思相近的词的距离靠的比较近,而意思无关的词距离就比较远;例如猫和狗都是动物,他们会靠得比较近,而花和草就不会跟猫狗靠得近;还有一个模型是用来实现向量数据的存储的,是向量数据库。这2种模型都是anythingLLM这个APP里面内置的,我们只需要拿来直接用就可以。但是我们必须知道他们的概念,因为这个embeding的功能对于知识库的管理效果至关重要,如果提取到的数据质量不够好,最终用户查询到的结果就会不满意,这个时候可以尝试改变其配置,使用其他的第三方模型。不管是LLM模型,还是embeding模型,我们的选择是很多的,既有开源模型,也有闭源模型,既有免费模型,也有收费模型,这些都是可以选择的。

anythingLLM的安装。

在官网下载安装即可。安装好后会有一个引导过程,让用户设置好LLM模型,working space这些。LLM模型我们选择Ollama。以下是anythingLLM的链接地址:https://anythingllm.com/desktop第一次运行

可以说,AI的出现就是懒人的福音,基本上你按照官网的指引来做不会有什么难的。唯独是如果英语阅读可能对某些同学有点障碍,不过这种障碍估计很快也要被AI消除了。

anthingLLM的配置,资料的投喂,搜索检验。

最简单的投喂方式就是把Excel表格投喂给模型,也可以投喂一个网页链接,让其下载并消化;embeding模型消化数据时有一个等待过程,这个过程就是把文档里面的资料进行词向量的计算和映射过程。怎么知道我们投喂的数据有效果呢?例如我们可以这样进行测试,首先没有投喂资料之前,我们可以先提一个问题,例如,Mac mini的价格是多少?这样,因为AI模型的数据是比较早期的,回复的结果通常是不知道,或者不准确;这个时候我们可以打开苹果的官网,进入有Mac mini价格的页面,然后把这个页面的URL复制粘贴给模型,让模型进行一个消化整理;完了之后再询问,这个时候模型就可以输出有用的信息了,而且还会附带引用的来源;没有投喂资料之前的回答
在这里插入图片描述

嵌入模型和向量数据库配置

总结,下一步考虑把系统的bug list喂给AI模型,看看能不能方便地查到有用的东西。

在这里插入图片描述
上传数据
在这里插入图片描述

投喂网页数据之前的查询:

在这里插入图片描述

投喂数据之后的查询:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙UI(ArkUI-方舟UI框架)-开发布局

文章目录 开发布局1、布局概述1)布局结构2)布局元素组成3)如何选择布局4)布局位置5)对子元素的约束 2、构建布局1)线性布局 (Row/Column)概述布局子元素在排列方向上的间距布局子元素在交叉轴上的对齐方式(…

指针的进阶

指针的主题,我们在初级阶段的《指针》章节已经接触过了,我们知道了指针的概念: 1. 指针就是个变量,用来存放地址,地址唯一标识一块内存空间。 2. 指针的大小是固定的4/8个字节(32位平台/64位平台&#xff0…

B站评论系统的多级存储架构

1. 背景 评论是 B站生态的重要组成部分,涵盖了 UP 主与用户的互动、平台内容的推荐与优化、社区文化建设以及用户情感满足。B站的评论区不仅是用户互动的核心场所,也是平台运营和用户粘性的关键因素之一,尤其是在与弹幕结合的情况下&#xf…

若依分页插件失效问题

若依对数据二次处理导致查询total只有十条的问题处理办法_若依分页查询total-CSDN博客

css盒子水平垂直居中

目录 1采用flex弹性布局: 2子绝父相margin:负值: 3.子绝父相margin:auto: 4子绝父相transform: 5通过伪元素 6table布局 7grid弹性布局 文字 水平垂直居中链接:文字水平垂直居中-CSDN博客 以下为盒子…

Golang Gin系列-3:Gin Framework的项目结构

在Gin教程的第3篇,我们将讨论如何设置你的项目。这不仅仅是把文件扔得到处都是,而是要对所有东西的位置做出明智的选择。相信我,这些东西很重要。如果你做得对,你的项目会更容易处理。当你以后不再为了找东西或添加新功能而绞尽脑…

03JavaWeb——Ajax-Vue-Element(项目实战)

1 Ajax 1.1 Ajax介绍 1.1.1 Ajax概述 我们前端页面中的数据,如下图所示的表格中的学生信息,应该来自于后台,那么我们的后台和前端是互不影响的2个程序,那么我们前端应该如何从后台获取数据呢?因为是2个程序&#xf…

【无法下载github文件】虚拟机下ubuntu无法拉取github文件

修改hosts来进行解决。 步骤一:打开hosts文件 sudo vim /etc/hosts步骤二:查询 github.com的ip地址 https://sites.ipaddress.com/github.com/#ipinfo将github.com的ip地址添加到hosts文件末尾,如下所示。 140.82.114.3 github.com步骤三…

【Idea启动项目报错NegativeArraySizeException】

项目场景: Idea启动项目报错(打包不报错),项目在服务器部署运行没有问题,尝试了重启idea、重启电脑、maven clean/install 都不行 maven-resources-production:sample: java.lang.NegativeArraySizeException: -5833…

【 MySQL 学习2】常用命令

文章目录 一、基础命令1.1、登录1.2 、退出1.3、查看数据库中有哪些数据库1.4 、选择使用的数据库1.5、创建数据库1.6 查看哪个数据库下有哪些表 二、SQL语句的分类2.1 DQL 数据查询语言2.2 DML 数据操作语言2.3 DDL 数据定义语言2.4 TCL 事物控制语言2.5 DCL 数据控制语言 三、…

JVM直击重点

JVM直击重点 JVM内存模型 JVM中类加载器分类与核心功能 Java里有如下几种类加载器 引导类加载器:负责加载支撑JVM运行的位于JRE的lib目录下的核心类库,比如rt.jar、charsets.jar等 扩展类加载器:负责加载支撑JVM运行的位于JRE的lib目录下的e…

图数据库 | 18、高可用分布式设计(中)

上文我们聊了在设计高性能、高可用图数据库的时候,从单实例、单节点出发,一般有3种架构演进选项:主备高可用,今天我们具体讲讲分布式共识,以及大规模水平分布式。 主备高可用、分布式共识、大规模水平分布式&#xff…

【常见BUG】Spring Boot 和 Springfox(Swagger)版本兼容问题

???欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老…

关于vite+vue3+ts项目中env.d.ts 文件详解

env.d.ts 文件是 Vite 项目中用于定义全局类型声明的 TypeScript 文件。它帮助开发者向 TypeScript提供全局的类型提示,特别是在使用一些特定于 Vite 的功能时(如 import.meta.env)。以下是详细讲解及代码示例 文章目录 **1. env.d.ts 文件的…

数字化时代,传统代理模式的变革之路

在数字化飞速发展的今天,线上线下融合(O2O)成了商业领域的大趋势。这股潮流,正猛烈冲击着传统代理模式,给它带来了新的改变。 咱们先看看线上线下融合现在啥情况。线上渠道那是越来越多,企业纷纷在电商平台…

接口测试自动化实战(超详细的)

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 前言 自从看到阿里云性能测试 PTS 接口测试开启免费公测,就想着跟大家分享交流一下如何实现高效的接口测试为出发点,本文包含了我在接口测…

意图颠覆电影行业的视频生成模型:Runway的Gen系列

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍Runway开发的视频生成模型Gen系列,包括Gen-1、Gen-2和Gen3 Alpha等,这些模型每次发布都震惊AI圈,荣获多个视频生成的…

ant design vue的级联选择器cascader的悬浮层样式怎么修改

平时想要修改组件内定样式会使用穿透deep和!important调优先级,但是在这里都不行,样式都不能改变 后来尝试出来是因为加了scoped,样式不起作用,但是不能直接去掉scoped,别的样式会受到影响,单独…

linux手动安装mysql5.7

一、下载mysql5.7 1、可以去官方网站下载mysql-5.7.24-linux-glibc2.12-x86_64.tar压缩包: https://downloads.mysql.com/archives/community/ 2、在线下载,使用wget命令,直接从官网下载到linux服务器上 wget https://downloads.mysql.co…

使用 ChatGPT 生成和改进你的论文

文章目录 零、前言一、操作引导二、 生成段落或文章片段三、重写段落四、扩展内容五、生成大纲内容六、提高清晰度和精准度七、解决特定的写作挑战八、感受 零、前言 我是虚竹哥,目标是带十万人玩转ChatGPT。 ChatGPT 是一个非常有用的工具,可以帮助你…