首页 > 其他分享 >AI大语言模型LLM学习-本地部署大语言模型(Ollama)

AI大语言模型LLM学习-本地部署大语言模型(Ollama)

时间:2024-09-14 20:25:38浏览次数:12  
标签:语言 AI Ollama 模型 api key ollama

系列文章

1. AI大语言模型LLM学习-入门篇
2. AI大语言模型LLM学习-Token及流式响应
3. AI大语言模型LLM学习-WebAPI搭建
4.AI大语言模型LLM学习-基于Vue3的AI问答页面
5.AI大语言模型LLM学习-语义检索(RAG前导篇)
6.AI大语言模型LLM学习-RAG技术及代码实现
7.AI大语言模型LLM学习-RAG知识点测试题(含答案)


前言


在本地运行大语言模型有诸多优点:比如可以保护隐私、不会产生费用、可以无视网络问题、可以尝鲜各种开源模型等。
本文主要介绍如何在 Windows 系统快速部署 Ollama 开源大语言模型运行工具,同时为了简化各位网友的WebUI的搭建过程,本文将提供一站式搭建包供大家免费下载安装和部署。


一、Ollama下载及使用


1.1 Ollama介绍

Ollama是一个强大的运行AI模型的工具。
Ollama的核心功能

  • 易于安装和使用:Ollama 支持 macOS、Windows 和 Linux,提供了简洁明了的安装和运行指令,让用户无需深入了解复杂的配置即可启动和运行。
  • 丰富的模型库:通过Ollama,用户可以访问和运行包括 Llama 2、Mistral 和 Dolphin Phi 在内的多种大型语言模型。这为开发者和研究者提供了极大的便利。
  • 高度可定制:Ollama 允许用户通过 Modelfile 定义和创建自定义模型,满足特定应用场景的需求。
  • 优化的性能:即使在普通的个人电脑上,Ollama 也能通过优化运行效率,支持运行较小的模型,为用户提供实验和测试的环境。

1.2 Ollama安装

Ollama下载地址:https://ollama.com/download
下载完成后,直接点击安装:
在这里插入图片描述
直接在网站下载可能会很慢,本文提供了CSDN免费下载资源,需要的话点击下面的链接进行下载

1.3 Ollama模型下载

模型下载和运行均可以使用下面的命名:

ollama run qwen2:7b

注意: 运行7B模型至少需要8GB内存, 运行13B模型需要16GB, 33B模型需要32G。

查看已下载的模型并运行模型进行对话:
在这里插入图片描述
如果想尝试不同的模型,可以进入此页面搜索,选择想要下载的模型,页面上会显示模型下载命令。
https://ollama.com/library?sort=popular
在这里插入图片描述


二、1分钟完成WebUI的搭建


本章节介绍提供的一键部署包的安装和使用方法(资源免费提供,不需要任何积分)。

2.1安装方法

下载解压文件后,以管理员身份执行install.bat文件即可,如果电脑安装了安全卫士,在弹窗中选择允许即可。
在这里插入图片描述

2.2运行效果展示


在这里插入图片描述

2.3补充说明

一键部署包整合了三个开源项目:nginx+WinSW+ollama-ui,下面提供了三个开源项目的地址,喜欢动手的朋友们可以去了解下,比如修改web服务端口,修改html交互效果及页面样式等。

一键部署包原理:利用WinSW将nginx封装成windows服务,使用nginx把Ollama的webAPI进行代理转发,ollama-ui的前端页面打包在nginx的html目录下,解决api和webUI跨域问题。


三、扩展知识


3.1 Ollama配置修改

Ollama默认的安装路径及模型路径都是C盘,大模型都很大,可以按照如下说明进行默认模型存储位置配置的修改,配置修改后需要重启服务,之前的模型可以手工复制到新的路径。

默认安装后的目录:C:\Users\username\AppData\Local\Programs\Ollama
默认安装的模型目录:C:\Users\username.ollama
默认的日志文件目录:C:\Users\username\AppData\Local\Ollama

注意:上述路径中的username是变量哦,一般是Administrator,也可能是zhangsan或者zhaowu,也可以是‘张三’或者‘李四’,需要根据个人电脑的情况进行调整!

  • 模型存储位置修改
setx OLLAMA_MODELS "E:\ollama_model"

当然也可以使用windows配置页面进行修改:
在这里插入图片描述
其它参数介绍:

OLLAMA_HOST

接口地址,默认值:0.0.0.0:11434

OLLAMA_ORIGINS

接口允许的请求来源,默认值:127.0.0.1,默认只允许本机调用。

linux环境下,可以修改/etc/systemd/system/ollama.service文件,例如:

Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_MODELS=/data/ollama/.ollama/models"

3.2 ollama项目地址

https://github.com/ollama/ollama

3.3 ollama的API服务

3.4 代码调用

在前面几篇文章中,我们一直调用的是阿里的大模型API接口:

  • 依赖安装
pip install langchain_openai
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate

api_key = "api_key(平台注册获得)"
llm = ChatOpenAI(
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    api_key=api_key,
    model="qwen2-1.5b-instruct",
)
prompt_template = ChatPromptTemplate.from_messages([
    ("system", "你是一个很出色的交通警察."),
    ("user", "{input}")
])

#使用|操作符将prompt_template和llm连接在一起,创建一个chain对象。
chain =prompt_template | llm

#使用invoke方法调用chain对象,传入用户的输入,并获取响应。
response = chain.invoke(input="请你给违反交通规则的小朋友讲解危害!")

print(response.content)

如果需要调用本地的大模型API接口,调整url地址及模型名即可:

api_key = "ollama默认没有配置key"
llm = ChatOpenAI(
    base_url="http://127.0.0.1:11434/v1",
    api_key=api_key,
    model="qwen2:7b",
)

标签:语言,AI,Ollama,模型,api,key,ollama
From: https://blog.csdn.net/fengqiuhuang123/article/details/142173431

相关文章

  • 2024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数
    2024-09-14:用go语言,给定一个正整数数组nums,定义一个加密函数encrypt(x),其将一个整数x的每一位数字都替换为x中的最大数字,然后返回加密后的数字。例如,encrypt(523)会返回555,encrypt(213)会返回333。现在需要计算数组中所有元素加密后的和,然后返回这个和。输入:nums=[10,2......
  • 法国的Mistral AI大语言模型详解
    MistralAI概述MistralAI是一家法国人工智能(AI)公司,专注于开发开源大型语言模型。该公司成立于2023年4月,由前Meta平台和GoogleDeepMind的员工创立。MistralAI在AI领域迅速崛起,成为全球领先的开源模型提供商之一。历史背景MistralAI由ArthurMensch、GuillaumeLample和Tim......
  • 马斯克xAI公司的Grok大语言模型详解
    Grok详细介绍Grok是由xAI开发的生成式人工智能聊天机器人,基于大型语言模型(LLM),由埃隆·马斯克发起。该聊天机器人以“具有幽默感”和直接访问X的能力为卖点。目前,Grok正处于测试阶段,仅对XPremium用户开放。背景埃隆·马斯克于2015年与SamAltman共同创立了AI研......
  • c语言快递小项目
    structpack_head{  intfd;//通信的文件描述符  unsignedchartype; //消息类型  unsignedcharusertype;//用户类型:1:用户 2:快递员   charname[32]; //用户名  charpaaswd[32];//密码  charbuf[32]; //调试信息  stru......
  • 解码3D数字人及AIGC产品,如何赋能医美行业全场景业务增长
    9月13日,第六届“医美小小聚”暨医美信息与服务创新发展大会在热烈的氛围中拉开帷幕。此次盛会汇聚了医美行业的顶尖精英与前瞻者,他们围绕“聚焦营销,合规增长,融合共创”的主题,深入剖析了行业的新趋势、新机遇与新挑战。在这场前瞻观点与前沿技术的碰撞中,魔珐科技凭借领先的3D数......
  • OpenAI的ChatGPT各个模型有什么区别?
    ChatGPT版本历史/区别特点对比以下是OpenAI 公司ChatGPT 各主要模型版本的详细描述,说明了每个版本中的显著变化:GPT-3.5发布日期:2022年11月描述:GPT-3.5是第一个用于ChatGPT的版本,基于GPT-3.5模型。此版本在准确性和理解能力上有所提升,但仍在GPT-3的基础......
  • vite tailwindcss@next omi
    pnpmi@tailwindcss/vite@[email protected]:{ "type":"module", "dependencies":{ "@tailwindcss/vite":"4.0.0-alpha.24", "omi":"^7.7.0", "tailwi......
  • C语言进阶【3】---C语言内存函数(你确定你很了解内存函数吗?)
    本章概述本章函数概述memcpy使用和模拟memmove使用和模拟memset函数的使用memcmp函数的使用彩蛋时刻!!!本章函数概述我们在本章的博客中讲的内容是有关内存的操作,我们直接通过内存块对数据进行操作。因为我们是直接对内存块操作,所以可以对任意类型数据进行操作(我们没......
  • Go runtime 调度器精讲(六):非 main goroutine 运行
    原创文章,欢迎转载,转载请注明出处,谢谢。0.前言在Goruntime调度器精讲(三):maingoroutine创建介绍了maingoroutine的创建,文中我们说maingoroutine和非maingoroutine有区别。当时卖了个关子并未往下讲,这一讲我们会继续介绍非maingoroutine(也就是go关键字创建的......
  • OpenAI o1模型:偏科的理科生
    LLM需要增强的地方大模型的三大基础能力:• 语言理解和表达能力:GPT-3已解决• 世界知识存储:GPT-4已经解决了不少• 逻辑推理能力:是最薄弱的环节,o1模型在这方面有明显的进步。原理o1模型增强逻辑推理能力的思路是:收到问题后,自动生成CoT,再生成答案。避免人类写基于于CoT的Prompt。......