AI初识--LLM、ollama、llama都是些个啥?

LLM全称(large language model)也就是大语言模型

什么是Ollama,它与Llama是什么关系?

Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型,降低使用大语言模型的门槛,使得大模型的开发者、研究人员和爱好者能够在本地环境快速实验、管理和部署最新大语言模型,包括如Llama 3、Phi 3、Mistral、Gemma等开源的大型语言模型。

Ollama目前支持以下大语言模型:library

因此,OllamaLlama的关系:Llama是大语言模型,而Ollama是大语言模型(不限于Llama模型)便捷的管理和运维工具

那么我们如何在本地部署这个大模型呢?

首先我们需要到ollama官网下载,然后在命令窗中输入一些ollama的命令

ollama只是个工具,那怎么跑我们想要的大模型呢?

下载模型

Ollama可以直接下载内置的几种模型,但选择有限。我们更希望从HuggingFace下载以便方便地评估各种模型,所以,这里我们并不从Ollama直接下载,而是从HuggingFace下载。

在HuggingFace搜索llama3,设置LanguagesChinese,可以看到若干基于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下载更多的模型来评估,非常方便。

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

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

相关文章

赶紧收藏!2024 年最常见 20道分布式、微服务面试题(二)

上一篇地址&#xff1a;赶紧收藏&#xff01;2024 年最常见 20道分布式、微服务面试题&#xff08;一&#xff09;-CSDN博客 三、请解释CAP定理&#xff0c;并讨论其在实际应用中的意义。 CAP定理是分布式系统理论中的一个重要概念&#xff0c;由计算机科学家Eric Brewer在200…

国产主流软硬件厂商生态分析

国产领域主流厂商汇总 信创&#xff0c;即信息技术应用创新&#xff0c;由“信息技术应用创新工作委员会”于2016年3月4日发起&#xff0c;是专注于软硬件关键技术研发、应用与服务的非营利性组织。作为科技自强的关键力量&#xff0c;信创在我国信息化建设中占据核心地位&…

外部mysql导入

利用这个命令&#xff1a; mysql -u username -p database_name < file.sql 然后就这样。成功导入。

定个小目标之每天刷LeetCode热题(12)

这是一道简单题&#xff0c;使用位运算中的异或运算即可&#xff0c;异或运算有以下性质&#xff1a; 1、任何数异或 0 结果仍然是原来的数&#xff0c;即 a⊕0a 2、任何数和其自身做异或运算&#xff0c;结果是 0 所以我们只需要让数组里的所有元素进行异或运算得到的结果就…

springboot防止表单重复提交

第一种方法&#xff1a;单个防止 在Spring Boot应用中使用Redis来防止表单的重复提交&#xff0c;可以通过以下几个步骤来实现&#xff1a; 步骤 1: 添加依赖 确保你的项目中添加了Spring Boot Starter Data Redis和Spring Boot Starter Web依赖。在pom.xml文件中添加以下依…

探索风电机组:关键软件工具全解析

探索风电机组&#xff1a;关键软件工具全解析 随着可再生能源市场的迅猛发展&#xff0c;风电作为一种重要的可再生能源&#xff0c;其相关技术和工具也越来越受到重视。风电机组的设计、仿真、优化及运维等方面&#xff0c;都需要依靠一系列专业软件工具来实现。这些软件涵盖…

Netty中的ByteBuf使用介绍

ByteBuf有三类&#xff1a; 堆缓存区&#xff1a;JVM堆内存分配直接缓冲区&#xff1a;有计算机内存分配&#xff0c;JVM只是保留分配内存的地址信息&#xff0c;相对于堆内存方式较为昂贵&#xff1b;复合缓冲区&#xff1a;复合缓冲区CompositeByteBuf&#xff0c;它为多个B…

VS2019创建c++动态链接库dll与调用方法

VS2019创建c动态链接库dll与调用方法 1.点击文件-》新建-》项目&#xff0c;输入dll,选择具有导出项的(DLL)动态链接库 2.输入一个文件名&#xff1a;dll2 头文件.h 3.添加加减法函数&#xff1a; // 下列 ifdef 块是创建使从 DLL 导出更简单的 // 宏的标准方法。此 DLL 中的…

题解web

1.[LitCTF 2023]Follow me and hack me 1&#xff09;进入题目环境&#xff0c;提示get传参&#xff0c;post传参 2&#xff09;看看源码&#xff0c;也没啥 3&#xff09;直接用hackbar&#xff0c;传入对应参数即可得到FLAG 3&#xff09;但是扫描出来它后端还有东西&#x…

linux-磁盘空间显示指令

在Linux中&#xff0c;要查看磁盘空间并输出详细报告&#xff0c;你可以使用df&#xff08;disk filesystem&#xff09;命令。通过添加不同的选项&#xff0c;你可以定制df命令的输出&#xff0c;以获取更详细的信息。 以下是一些常用的df命令选项&#xff0c;以及它们如何帮…

Vue 学习笔记 总结

Vue.js 教程 | 菜鸟教程 (runoob.com) 放一下课上的内容 Vue练习 1、练习要求和实验2的用户注册一样&#xff0c;当用户输入后&#xff0c;能在下方显示用户输入的各项内容&#xff08;不需要实现【重置】按钮&#xff09; 2、实验报告中的实验小结部分来谈谈用JS、jQuery和…

大模型怎么评价未来

以下内容都是腾讯元宝大模型回答的结果&#xff0c;不代表个人的意见。 目录 腾讯元宝APP自我介绍主要功能用户体验技术特点用户评价腾讯元宝APP自我评价技术细节功能特点与其他大模型比较怎么选择人工智能模型选择人工智能模型的步骤考虑因素评估和优化模型未来大模型的发展…

618数码产品有什么推荐?四大2024“宝藏”数码产品推荐!

随着618购物节的热情逐渐升温&#xff0c;你是否在繁多且诱人的商品海洋中迷失方向&#xff0c;难以找到那最心仪的宝贝&#xff1f;团团在此特别为你精心挑选了一系列经过亲身体验的优质好物。这些推荐不仅时尚前沿&#xff0c;更贴合你的日常生活需求&#xff0c;确保实用与品…

霸气的短视频:成都科成博通文化传媒公司

霸气的短视频&#xff1a;瞬间的力量与魅力 在数字化浪潮中&#xff0c;短视频以其独特的魅力迅速崛起&#xff0c;成为社交媒体的新宠。而在众多短视频中&#xff0c;那些充满霸气、让人热血沸腾的作品&#xff0c;总能引起广泛的关注和讨论。成都科成博通文化传媒公司将从内…

CSS基础知识汇总

目录 CSS 基础知识1. CSS 的基本结构2. 选择器3. 常用 CSS 属性4. CSS 单位5. CSS 盒模型 总结 学习 CSS&#xff08;Cascading Style Sheets&#xff09;是前端开发的重要部分&#xff0c;它用于控制网页的样式和布局。以下是学习 CSS 过程中需要掌握的基本概念、符号和对应的…

Excel中的SUMPRODUCT函数:使用方法与案例分析

在Excel中&#xff0c;SUMPRODUCT函数是一个强大的工具&#xff0c;它允许你将数组间对应的元素相乘&#xff0c;并返回乘积之和。这个函数在处理复杂数据和分析时非常有用&#xff0c;特别是在需要多条件求和或计数的情况下。以下是对SUMPRODUCT函数使用方法的详细介绍和案例分…

LeetCode 1174, 274, 240

目录 1174. 即时食物配送 II题目链接表要求知识点思路代码 274. H 指数题目链接标签思路代码优化 240. 搜索二维矩阵 II题目链接标签特性线性查找 二分查找思路代码 官方题解的Z字形查找思路代码 1174. 即时食物配送 II 题目链接 1174. 即时食物配送 II 表 表Delivery的字…

Vue08-数据代理

一、Object.defineProperty() Object.defineProperty() 是 JavaScript 中的一个方法&#xff0c;用于直接在一个对象上定义一个新属性&#xff0c;或者修改一个对象的现有属性&#xff0c;并返回这个对象。 这个方法允许你精确地控制一个对象的属性&#xff0c;包括它的值、是…

1. 在Java中,为何枚举类型的比较推荐==而不是equals

开源项目SDK&#xff1a;https://github.com/mingyang66/spring-parent 个人文档&#xff1a;https://mingyang66.github.io/raccoon-docs/#/ 比较运算符和equals的区别 比较运算符是比较两个对象在内存中的引用&#xff0c;equals方法是比较两个对象的值是否相等。 枚举类型…

数据库存储过程和锁机制

存储过程 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的&#xff0c;存储过程思想上很简单,就是数据库SQL语言层面的代码封装与有重用 …