本地搭建AI环境

本地搭建AI

这几天刚刚看到好兄弟分享的一段关于本地搭建AI的短视频,于是我按照视频里的讲解,进行了实践。感觉非常棒!!,马上整理成文字与大家分享一下。

在本地启动并运行大型语言模型,运行llama3、phi3和其他模型,自定义并创建您自己的。

安装Ollama

首先进入Ollama网站,在浏览器的地址栏输入:https://ollama.com/,直接进入网站,如下图所示:

Screenshot 2024-05-08 at 19.10.04

根据你的操作系统,点击Download进行下载。

本人的操作系统是macOS,芯片是M3。下载之后,直接进行安装。

检验是否安装成功

输入 Ollama 命令,正常的得出命令行输出,表示已经安装成功,下面有 ollama 的常用命令

localhost:~ root# ollama
Usage:ollama [flags]ollama [command]Available Commands:serve       Start ollamacreate      Create a model from a Modelfileshow        Show information for a modelrun         Run a modelpull        Pull a model from a registrypush        Push a model to a registrylist        List modelscp          Copy a modelrm          Remove a modelhelp        Help about any commandFlags:-h, --help      help for ollama-v, --version   Show version informationUse "ollama [command] --help" for more information about a command.

ollama模型库

跳转到https://ollama.com/library。进入到模型库主页,如下图所示:

Screenshot 2024-05-08 at 19.36.45

运行模型库

本案例利用llama3模型,在Terminal窗口下,在命令行输入如下命令:

localhost:~ root# ollama run llama3

运行结果如下:

>>> Send a message (/? for help)

然后输入如下问题:

>>> 你是谁?请用中文回答
我是一個基於人工智慧的聊天機器人,旨在與使用者進行自然语言对话。我可以理解和生成人类语言,可以回答问题、提供信息、甚至参与创作等。我的目的是为了帮助用户更好地了解我是一個基於人工智慧的聊天機器人,旨在與使用者進行自然语言对话。我可以理解和生成人类语言,可以回答问题、提供信息、甚至参与创作等。我的目的是为了帮助用户更好地了解世界,并且与我交流思想和经验。(Note:I'm a chatbot powered by artificial intelligence, designed to engage in 
natural language conversations with users. I can understand and generate 
human-like language, answer questions, provide information, and even participate
in creative activities. My goal is to help users better understand the world and
exchange thoughts and experiences with me.]
>>> 请问你都有什么功能?用中文回答
我是一個多功能的chatbot,以下是我的一些主要功能:1. **对话生成**:我可以和用户进行自然语言对话,回答问题、提供信息、甚至参与创作等。
2. **知识分享**:我拥有广泛的知识数据库,可以分享历史、科学、技术、文化等领域的知识。
3. **语言理解**:我可以理解用户的语言,并根据情况回答或回应。
4. **情感识别**:我可以识别用户的情感状态,提供合适的支持和建议。
5. **问题解决**:我可以帮助用户解决问题,找到答案,或者提供相关信息。
6. **创作协作**:我可以与用户合作创作文本、诗歌、短剧等内容。
7. **游戏互动**:我可以和用户一起玩游戏,如20 Questions、Hangman、Word Association 等。
8. **幽默分享**:我可以分享幽默和笑话,帮助用户度过难关的时刻。这些功能让我能够与用户进行更加紧密的交流,提供更加个性化的服务。

可以看到llama3的功能还是很强大的。**注意:请在问题后面加上用中文回答。否则回答的是英文答案。**当然,如果你英文很好,可以忽略。

部署大模型前端界面

上面的步骤介绍的是在命令行下面直接运行模型,感觉界面不够友好。接下来教你搭建一个美观、友好的前端页面,这样用起来更方便,更高大上。然后就可以完全免费的享用大模型,想想都很爽。这个美观的大模型界面就是开源的LobeChat。

1. 安装docker

什么是docker

Docker 是一个开源的容器化平台,可以将应用程序和服务打包到一个轻量级的容器中,使得开发、测试、生产环境中的应用程序之间实现了更好的隔离和重用。

Docker 的主要特点有:

  1. 容器化:Docker 将应用程序和服务打包到一个容器中,这个容器可以包含所需的库、依赖项、配置文件等。
  2. 轻量级:Docker 容器非常轻量,通常只有几十兆到几百兆大小,可以快速启动和关闭。
  3. 可移植性:Docker 容器可以在不同的环境中运行,无需担心不同操作系统、库版本等问题。
  4. 高效率:Docker 可以提高开发和部署速度,因为它可以快速创建和销毁容器。

Docker 的使用场景非常广泛,包括:

  1. 微服务架构:Docker 可以帮助实现微服务架构,使得应用程序变得更加灵活、可维护和可扩展。
  2. DevOps:Docker 可以帮助实现 DevOpsWorkflow,使得开发、测试、生产环境中的应用程序之间实现了更好的隔离和重用。
  3. 云计算:Docker 可以帮助实现云计算,提供一个灵活的容器化平台,使得应用程序可以快速部署到不同的云环境中。
下载docker

docker下载地址:https://www.docker.com/products/docker-desktop/,下载界面如下图所示:

Screenshot 2024-05-08 at 20.52.44

验证安装docker成功

只需要运行下面的命令

docker run hello-world

如果返回消息中带有:成功,表明安装成功。

2. docker部署lobechat

通过docker部署,只需要一两行命令,非常简单。启动docker,界面如下:

Screenshot 2024-05-08 at 21.21.16

输入如下命令:

docker pull lobehub/lobe-chat:latest

docker pull 命令用于从 Docker Hub 或其他 Registry 中拉取镜像。lobehub/lobe-chat:这是Docker的镜像的名称,其中lobehub是镜像仓库的名称,lobe-chat是具体的镜像名称。latest:表示拉取该镜像的最新版本(tag)。如果没有指定版本标签,Docker默认会拉取latest标签的版本。执行这条命令后, Docker会将lobehub/lobe-chat镜像的最新版本下载到你的本地系统,以便你可以使用它创建和运行Docker容器。然后再运行一条命令就可以了:

docker run -d --name lobe-chat -p 10084:3210 -e ACCESS_CODE=lobe66 lobehub/lobe-chat:latest

解释一下这条命令,这个命令是使用 Docker 运行一个容器的命令。下面将分解该命令:

  • -d: detached 模式,即在后台运行容器。这意味着容器将独立于终端会话运行。
  • --name lobe-chat:为容器命名为 “lobe-chat”。这使得后期管理和识别容器变得更加容易。
  • -p 10084:3210:将主机的端口 10084 映射到容器中的端口 3210。这允许你从外部访问容器中的服务,使用主机的 IP 地址和端口 10084。
  • -e ACCESS_CODE=lobe66:设置一个环境变量 ACCESS__CODE,其值为 lobe66。这将为容器中的应用程序提供一个配置参数。

这个命令创建并启动一个名为 “lobe-chat” 的容器,从 lobehub/lobe-chat:latest 镜像中运行。该容器在 detached 模式下运行,端口 10084 在主机上映射到容器中的端口 3210,并将环境变量 ACCESS_ CODE 设置为 lobe66。这个lobe66在后面启动网页界面时会用到。到这里,已经安装部署完成lobechat。

结果,容器将在后台运行,你可以使用其他 Docker 命令(例如 docker psdocker logs)来管理和检查容器。

注意

  • 如果你已经拉取了该镜像,可以使用 docker images 命令查看当前可用的镜像。
  • 如果你想更新已有的镜像,可以使用 docker pull 命令重新拉取最新版本的镜像。

3. 体验

打开浏览器,在地址栏输入:localhost:10084,如果从其他电脑登录,直接输入http://+你的本机ip地址:10084。进入之后,界面布局如下图所示:

Screenshot 2024-05-08 at 21.44.22

点击上图箭头所指的Start Now按钮,进入如下界面:

本案例选择Llama3模型,如果没有安装,直接按照提示点击下载,这样就可以免费使用Llama3模型了。如下图所示:

Screenshot 2024-05-08 at 22.07.37

以上就是完整的搭建过程。请大家快去体验吧,搭建自己的AI本地环境。

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

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

相关文章

Apache POI入门学习

Apache POI入门学习 官网地址 excel中使用到的类读取excel表格内容表格内容maven依赖方式一测试结果 方式二测试结果 向excel中写入数据方式一方式二方式三测试结果 从 Excel 工作表中的公式单元格读取数据测试结果 Excel 工作表中写入公式单元格从受密码保护的Excel中读取数据…

Redis-新数据类型-Bitmaps

新数据类型-Bitmaps 简介 在计算机中,用二进制(位)作为存储信息的基本单位,1个字节等于8位。 例如 “abc” 字符串是由 3 个字节组成,计算机存储时使用其二进制表示,"abc"分别对应的ASCII码是 …

Jenkins +git +web(vue) centos8.5 实战打包部署 运维系列二

1新建一个工程 #cat qy.sh #!/bin/bash cd /data/.jenkins/workspace/web rm -rf dist/ rm -rf qysupweb.tar.gz npm run build tar -czvf qysupweb.tar.gz dist/ #点击构建

嵌入式开发八:STM32启动过程分析

本次给大家分析 STM32F4 的启动过程,这里的启动过程是指从 STM32 芯片上电复位执行的第一条指令开始,到执行用户编写的 main 函数这之间的过程。我们编写程序,基本都是用 C 语言编写,并且以 main 函数作为程序的入口。但是事实上&…

CentOS 7 :虚拟机网络环境配置+ 安装gcc(新手进)

虚拟机安装完centos的系统却发现无法正常联网,咋破! 几个简单的步骤: 一、检查和设置虚拟机网络适配器 这里笔者使用的桥接模式,朋友们可以有不同的选项设置 二、查看宿主机的网络 以笔者的为例,宿主机采用wlan上网模…

Vue-路由介绍

目录 一、思考引入 二、路由介绍 一、思考引入 单页面应用程序,之所以开发效率高,性能高,用户体验好,是因为页面按需更新。 而如果要按需更新,首先需要明确:访问路径和组件的对应关系。该关系通过路由来…

^_^填坑备忘^_^C#自动化编程实现STK+Exata对卫星互联网星座进行网络仿真

C#实际选择 STK11版本 or STK12版本的问题备注。 【C#自动化客户端调用STK时,实际选择 STK11版本 or STK12版本 的调试运行备注】 以下代码“更新并重新打包备份为”〔testSTKQualNetInterface备份08.1_★避坑★【种子卫星:天线直接安装在卫星上&#…

Spring 常用的注入方式有什么?

Spring 是一个非常流行的 Java 开发框架,它提供了多种依赖注入(Dependency Injection)的方式,使得开发者可以轻松地管理应用程序中的组件依赖关系。在 Spring 中,常用的注入方式主要包括构造器注入、Setter 方法注入、…

A Dexterous Hand-Arm Teleoperation System

A Dexterous Hand-Arm Teleoperation System Based on Hand Pose Estimation and Active Vision解读 摘要1. 简介2.相关工作2.1 机器人遥操作2.2 主动视觉(Active Vision) 3. 硬件设置4. 基于视觉的机器人手部姿态估计4.1 Transteleop4.2 Dataset 5. 主动…

Rust读写CSV文件 一维Vec类型元素、二维Vec类型元素写入CSV文件

本文主要介绍Rust读写CSV文件方法, Vec类型元素基本操作方法,Rust把一维Vec类型元素、二维Vec类型元素写入CSV文件方法。 实例测试: 要求读“log.csv”文件数据,把“时间”列数据和“次数”列数据写入日志处理结果1.csv文件&…

06-数组

1. 为什么需要数组 一个养鸡场有6只鸡,它们的体重分别是3kg,4kg,1kg,2kg,6kg,3kg。 没有数组,就需要定义六个变量,一个变量代表一只鸡的体重。 使用数组,就可以定义一…

安防视频/视频汇聚系统EasyCVR视频融合云平台助力智能化酒店安防体系的搭建

一、背景需求 2024年“五一”假期,全国文化和旅游市场总体平稳有序。文化和旅游部6日发布数据显示,据文化和旅游部数据中心测算,全国国内旅游出游合计2.95亿人次。“五一”假期县域市场酒店预订订单同比增长68%,而酒店作为一个高…

Dashboard 安装部署

Dashboard 安装部署 Dashboard 安装部署 一:下载 二:部署步骤 1.镜像下载及导入 国内直接拉外网镜像会失败,可在境外下载镜像 查看 deployment 里的镜像版本 Dashboard Deploymentcontainers:- name: kubernetes-dashboardimage: k8s.g…

Python - 金三银四心路历程 之 数据结构与算法 刷题

目录 一.引言 二.心路历程 三.刷题经历 四.刷题历程 五.总结 一.引言 <夜深人静写算法> 是 23 年 12 月底博主打算跳槽时开始做刷题准备做的专栏&#xff0c;前后准备了大约一个月&#xff0c;刷题完毕后简单准备了项目和简历后就开始加入找工作大军了&#xff0c;最…

VISIO 画任意形状的封闭图案

** 最终要的效果 ** 1. 先用任意曲线画个圈 2. 在开发工具中&#xff0c;找到对应的&#xff0c;先点连接&#xff0c;再点修剪 3. 多余的部分删掉

组合模式(Composite)——结构型模式

组合模式(Composite)——结构型模式 组合模式是一种结构型设计模式&#xff0c; 你可以使用它将对象组合成树状结构&#xff0c; 并且能通过通用接口像独立整体对象一样使用它们。如果应用的核心模型能用树状结构表示&#xff0c; 在应用中使用组合模式才有价值。 例如一个场景…

推荐非常方便的初始配置nginx的开源工具

官网 https://www.digitalocean.com/community/tools/nginx?global.app.langzhCN直接复制base64字符串在 /etc/nginx 目录执行&#xff0c;会自动生成配置文件&#xff0c;最后执行 使用tar解压新的压缩配置 tar -xzvf nginxconfig.io-xxx.com.tar.gz | xargs chmod 0644在…

uni-app 多列picker切换列显示对应内容

html部分&#xff1a; <view class"uni-list"><view class"uni-list-cell"><view class"uni-list-cell-left">选择用户</view><view class"uni-list-cell-db"><picker mode"multiSelector"…

三种中成药分享:舒肝健脾,脾肝同调。

三个中成药分享给大家&#xff0c;舒肝健脾&#xff0c;脾肝同调。 第一&#xff0c;【木香顺气丸】&#xff0c;它具有健脾和胃&#xff0c;镇气祛湿的功效。如果平时总感觉到身上没劲、疲惫没精神&#xff0c;四肢还很沉重&#xff0c;吃完饭肚子里总是胀气&#xff0c;伴随…

Isaac Sim 5 Ros相关(学习笔记5.8.3)

一.RGB、Depth、bbox话题发送 1.新建一个二驱示例小车 路径为Robot-Jetbot&#xff08;如果找不到也可以直接搜索Jetbot&#xff09; 2.添加Action Graph 导航栏中&#xff1a;Window - Visual Scripting - Action Graph&#xff0c;建立一个工作区&#xff0c;这个工作区中…