AI初识--LLM、ollama、llama都是些个啥?
LLM全称(large language model)也就是大语言模型
什么是Ollama,它与Llama是什么关系?
Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型,降低使用大语言模型的门槛,使得大模型的开发者、研究人员和爱好者能够在本地环境快速实验、管理和部署最新大语言模型,包括如Llama 3、Phi 3、Mistral、Gemma等开源的大型语言模型。
Ollama目前支持以下大语言模型:library
因此,Ollama
与Llama
的关系:Llama
是大语言模型,而Ollama
是大语言模型(不限于Llama
模型)便捷的管理和运维工具
那么我们如何在本地部署这个大模型呢?
首先我们需要到ollama官网下载,然后在命令窗中输入一些ollama的命令
ollama只是个工具,那怎么跑我们想要的大模型呢?
下载模型
Ollama可以直接下载内置的几种模型,但选择有限。我们更希望从HuggingFace下载以便方便地评估各种模型,所以,这里我们并不从Ollama直接下载,而是从HuggingFace下载。
在HuggingFace搜索llama3
,设置Languages
为Chinese
,可以看到若干基于LLaMa3的中文模型,我们选择一个GGUF格式的模型,GGUF格式是llama.cpp团队搞的一种模型存储格式,一个模型就是一个文件,方便下载与运行。
点击Files
,可以看到若干GGUF文件,其中,q越大说明模型质量越高,同时文件也更大,我们选择q6,直接点击下载按钮,把这个模型文件下载到本地。
导入模型
下载到本地的模型文件不能直接导入到Ollama,需要编写一个配置文件,随便起个名字,如config.txt
,配置文件内容如下:
FROM "/Users/liaoxuefeng/llm/llama3-8b-cn-q6/Llama3-8B-Chinese-Chat.q6_k.GGUF"TEMPLATE """{{- if .System }} <|im_start|>system {{ .System }}<|im_end|> {{- end }} <|im_start|>user {{ .Prompt }}<|im_end|> <|im_start|>assistant """SYSTEM """"""PARAMETER stop <|im_start|> PARAMETER stop <|im_end|>
第一行FROM "..."
指定了模型文件路径,需要修改为实际路径,后面的模板内容是网上复制的,无需改动。
然后,使用以下命令导入模型:
$ ollama create llama3-cn -f ./config.txt
llama3-cn
是我们给模型起的名字,成功导入后可以用list
命令查看:
$ ollama list NAME ID SIZE MODIFIED llama3-cn:latest f3fa01629cab 6.6 GB 2 minutes ago
可以下载多个模型,给每个模型写一个配置文件(仅需修改路径),导入时起不同的名字,我们就可以用Ollama方便地运行各种模型。
运行模型
使用Ollama的run
命令可以直接运行模型。我们输入命令ollama run llama3-cn就可以将我们制定的模型运行起来
出现>>>
提示符时就可以输入问题与模型交互。输入/exit
退出。
搭建Web环境
使用命令行交互不是很方便,所以我们需要另一个开源的Open WebUI,搭建一个能通过浏览器访问的界面。
运行Open WebUI最简单的方式是直接以Docker运行。我们安装Docker Desktop,输入以下命令启动Open WebUI:
$ docker run -p 8080:8080 -e OLLAMA_BASE_URL=http://host.docker.internal:11434 --name open-webui --restart always -v open-webui-data:/app/backend/data ghcr.io/open-webui/open-webui:main
参数-p 8080:8080
将Open WebUI的端口映射到本机。参数-e OLLAMA_BASE_URL=http://host.docker.internal:11434
告诉Open WebUI通过本机的11434访问Ollama,注意地址必须写host.docker.internal
,不能写127.0.0.1
。
打开浏览器我们就可以访问http://127.0.0.1:8080,第一次访问需要注册,注册和登录是完全基于本地环境的,登录后就可以看到类似GPT的UI。
我们在聊天界面点击右上角配置按钮,点击Connections
,点击刷新按钮,如果一切无误,会显示Server connection verified
在聊天界面的顶部选择一个模型,就可以愉快地开始和LLaMa3聊天了:
API
Open WebUI还提供了与OpenAI类似的API,使用前先点击设置 - Account,生成一个API Key,然后在命令行用curl测试:
$ curl -X POST -H "Authorization: Bearer sk-959c8b27a48145bfb83bdb396ff3eeae" -H "Content-Type: application/json" http://localhost:8080/ollama/api/generate -d '{"model":"llama3-cn:latest","stream":false,"prompt":"讲讲llama,50字"}'{"model":"llama3-cn:latest","created_at":"2024-05-01T14:42:28.009353Z","response":"Llama是一个基于指令跟随的多模态大型语言模型,由Meta AI发布。它能够处理文本、图像等多种输入,并生成相应的输出。
由于模型是运行在本地,Open WebUI也将数据存储在本地,所以隐私性可谓拉满。如果对一个模型不满意,还可以从HuggingFace下载更多的模型来评估,非常方便。
相关文章:
AI初识--LLM、ollama、llama都是些个啥?
LLM全称(large language model)也就是大语言模型 什么是Ollama,它与Llama是什么关系? Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型,降低使用大语…...

【全开源】JAVA打车小程序APP打车顺风车滴滴车跑腿源码微信小程序打车源码
:构建便捷出行新体验 一、引言:探索打车系统小程序源码的重要性 在数字化快速发展的今天,打车系统小程序已成为我们日常生活中不可或缺的一部分。它以其便捷、高效的特点,极大地改变了我们的出行方式。而背后的关键,…...

LeetCode 两数之和 + 三数之和
两数之和 简单题 思路:一个Map,key是数值,value是该数值对应的下标,遍历的时候判断一下当前数组下标对应的值在map里有没有可组合成target的(具体体现为在map里找target-nums【i】),如果有,直接…...
Switch刷机:安装Android系统和Linux系统
文章目录 Switch刷机解锁SwitchSwitchroot重要提示 安装Android系统安装Linux系统(Ubuntu)安装Lakka系统安装多系统(和大气层系统、官方原生系统并存) Switch刷机 解锁Switch 刷机的前提是要解锁bootloader,早期的NS…...

DeepDriving | 多目标跟踪算法之SORT
本文来源公众号“DeepDriving”,仅用于学术分享,侵权删,干货满满。 原文链接:多目标跟踪算法之SORT 1 简介 SORT是2016年发表的一篇文章《Simple Online and Realtime Tracking》中提出的一个经典的多目标跟踪算法,…...

实验演示方波是由正弦波叠加而成的
方波可以看成是由N个正弦波叠加而成,在数学上,方波可以写成这个式子,大家可以看到这个式子里面包含了无数个奇数次的正弦波。 下面通过运放构成的反相求和电路来看一下,正弦波叠加成方波 对于这个反相求和电路: Ui1是…...

进口电动流量调节阀的选型-美国品牌
进口电动流量调节阀的选型需要综合考虑多个因素,以确保所选阀门能够满足实际应用需求。以下是选型时需要考虑的主要方面: 一、明确应用需求 工作介质:了解介质的性质,包括流体类型、温度、压力以及是否具有腐蚀性或特殊性质。流…...

【人工智能】流行且重要的智能算法整理
✍🏻记录学习过程中的输出,坚持每天学习一点点~ ❤️希望能给大家提供帮助~欢迎点赞👍🏻收藏⭐评论✍🏻指点🙏 小记: 今天在看之前写的文档时,发现有人工智能十大算法的内容…...
webrtc客户端测试和arm平台测试(待补充)
一、关于API的使用研究 二、遇到的一些问题 1、snd_write Broken pipe 写音频数据到缓存不及时导致,codec没有数据可以播放。 alsa总结 WebRTC源码研究(1)WebRTC架构 WebRTC 中的基本音频处理操作...

Unity ShaderGraph 扭曲
需要注意的是: HDRP ShaderGraph中 你不能扭曲UI,所以假如你要扭曲视频,请把视频在材质上渲染 播放,这样就可以扭曲视频了喔, ShaderGraph扭曲...
鸿蒙Ability Kit(程序框架服务)【应用启动框架AppStartup】
应用启动框架AppStartup 概述 AppStartup提供了一种更加简单高效的初始化组件的方式,支持异步初始化组件加速应用的启动时间。使用启动框架应用开发者只需要分别为待初始化的组件实现AppStartup提供的[StartupTask]接口,并在[startup_config]中配置App…...

DBeaver添加DM8驱动(maven下载和jar包下载配置)
DBeaver 24.0.3添加DM8驱动 下载DBeaver下载DM达梦驱动下载 安装配置使用自带Dameng自行添加达梦驱动 因为最近公司项目有信创要求,所以下载了达梦数据库。使用自带的达梦管理工具不是很方便,于是换了DBeaver。 哼哧哼哧安装好后,创建数据库连…...

EXCEL多sheet添加目录跳转
EXCEL多sheet添加目录跳转 背景 excel中有几十个sheet,点下方左右切换sheet太耗时,希望可以有根据sheet名超链接跳转相应sheet,处理完后再跳回原sheet。 方案一 新建目录sheet,在A1写sheet名,右键选择最下方超链接…...

MySQL之查询性能优化(十)
查询性能优化 MySQL查询优化器的局限性 松散索引扫描 由于历史原因,MySQL并不支持松散索引扫描,也就无法按照不连续的方式扫描一个索引。通常,MySQL的索引扫描需要先定义一个起点和终点,即使需要的数据只是这段索引中很少数的几…...

短视频矩阵源码----如何做正规开发规则分享:
一、什么是SaaS化服务技术开发? (短视频矩阵系统是源头开发的应该分为3个端口---- 总后台控制端、总代理端口,总商户后台) SaaS是软件即服务(Software as a Service)的缩写。它是一种通过互联网提供软件应…...
4. JavaScript 循环与迭代
JavaScript 中提供了这些循环语句: for 语句do … while 语句while 语句label 语句 跳出多级循环 var num 0; outPoint: for (var i 0; i < 10; i) {for (var j 0; j < 10; j) {if (i 5 && j 5) {break outPoint; // 在 i 5,j 5 …...

智能视频监控平台LntonCVS视频融合共享平台保障露营安全解决方案
在当今社会,都市生活的快节奏和压力使得越来越多的人渴望逃离城市的喧嚣,寻求一种短暂的慢生活体验。他们向往在壮丽的山河之间或宁静的乡村中露营,享受大自然的宁静与美好。随着露营活动的普及,露营地的场景也变得更加丰富多样&a…...

python如何画函数图像
通过图像可以直观地学习函数变化、分布等规律,在学习函数、概率分布等方面效果显著。下面我们尝试用Python的2D绘图库matplotlib来绘制函数图像。 下面我们来实现一个简单的函数: 首先,调用matplotlib库和numpy库 import matplotlib.pyplot …...
zeppelin(kylin的可视化界面安装)(从头到尾安装)
zeppelin(kylin的可视化界面安装) 1、zeppelin安装前的准备工作: 1、虚拟机安装配置好jdk, 2、虚拟机安装配置好Hadoop, 3、虚拟机安装配置好Hive 4、虚拟机安装配置了hbase 5、安装了kylin(麒麟) 6、下载了zeppelin…...

python词云生成库-wordcloud
内容目录 一、模块介绍二、WordCloud常用的方法1. generate(self, text)2. generate_from_frequencies(frequencies)3. fit_words(frequencies)4. generate_from_text(text) 三、进阶技巧1. 设置蒙版2. 设置过滤词 WordCloud 是一个用于生成词云的 Python 库,它可以…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...