当前位置: 首页 > news >正文

【Ollama:本地LLM工具】

目录

1 Ollama简介

2 Ollama的安装

2.1 下载安装Ollama

2.2 环境配置

2.3 运行Ollama

3 在 Python 中使用 Ollama API

4 LangChain调用

5 requests调用


1 Ollama简介

随着人工智能技术的快速发展,大型语言模型 LLM 已成为NLP领域的重要工具。然而,这些模型的运行通常需要大量的计算资源和复杂的部署流程。为了解决这个问题,Ollama应运而生,成为了一个高效的本地大语言模型LLM运行专家。

Ollama是一个开源的大型语言模型服务工具,它帮助用户快速在本地运行大模型。通过简单的安装指令,用户可以执行一条命令就在本地运行开源大型语言模型,如Llama 2。Ollama极大地简化了部署和管理LLM的过程,使得用户能够快速地在本地运行大型语言模型。

 

2 Ollama的安装

2.1 下载安装Ollama

  • Ollama主页:Ollama ,支持macOS, Linux 和 Windows 系统,点击下载按钮,获取OllamaSetup.exe安装程序。

 

双击安装文件,点击「Install」开始安装。目前的Ollama会默认安装到C盘,路径如下:`C:\Users\%username%\AppData\Local\Programs\Ollama`,并不会让用户自定义选择安装路径。 

安装完成后,会在电脑右下角出现Ollama图标,可以不用先启动Ollama,先退出做一些必要路径的配置!右键图标,会出现退出的按钮「Quit Ollama」,注意:一定要退出Ollama,否则下边的环境配置无法生效! 

 2.2 环境配置

- 关闭开机自启动(可选):

  - Ollama 默认会随 Windows 自动启动,可以在「文件资源管理器」的地址栏中访问以下路径,删除其中的Ollama.lnk快捷方式文件,阻止它自动启动。

 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup

 

配置环境变量(必须):

- Ollama 的默认模型存储路径如下:C:\Users\%username%\.ollama\models,无论 C 盘空间大小,需要安装多少模型,都建议换一个存放路径到其它盘,否则会影响电脑运行速度。
- 打开「系统环境变量」,新建一个系统变量OLLAMA_MODELS ,然后设置ollama模型的存储路径。
- 变量名:OLLAMA_MODELS
- 变量值(路径):D:\Work\ollama\models

 

2.3 运行Ollama

- 将上述更改的环境变量保存后,在「开始」菜单中找到并重新启动 Ollama。找到ollama.exe的所在位置,在该位置打开cmd

执行指令`ollama run <模型名称>`,首次执行会从模型库中下载模型,所需时间取决于你的网速和模型大小。模型库地址:<https://ollama.org.cn/library>

在Ollama模型库中,比较常用的LLM模型有:

运行7B至少需要8GB显存,运行13B至少需要16G显存,如果没有GPU默认加载CPU;如果有默认加载GPU

等待下载模型完成后,就可以使用了:

3 在 Python 中使用 Ollama API

  • 环境准备

    • 在开始使用 Python 与 Ollama API 交互之前,请确保您的开发环境满足以下条件:

    安装ollama库: pip install ollama
  • 代码实现:

方式一:

import ollama
# 聊天式
response = ollama.chat(model='qwen2:1.5b',messages=[{'role': 'user', 'content': '为什么天空是蓝色的?', }])
print(response)
print(response['message']['content'])
# 生成式
## response = ollama.generate(model='qwen2:1.5b', prompt='为什么天空是蓝色的?')

方式二:

# 可以远程调用ollama
from ollama import Client
# client = Client(host='http://192.168.1.100:11434')
client = Client(host='http://127.0.0.1:11434')response = client.chat(model='qwen2:1.5b', messages=[{'role': 'user','content': '为什么天空是蓝色的?',},
])
print(response['message']['content'])

方式三:可以通过设置 `stream=True` 启用响应流,使函数调用返回一个 Python 生成器,其中每个部分都是流中的一个对象。

import ollamastream = ollama.chat(model='qwen2:1.5b',messages=[{'role': 'user', 'content': '为什么天空是蓝色的?'}],stream=True,
)for chunk in stream:print(chunk['message']['content'], end='', flush=True)

4 LangChain调用

环境准备:

安装langchain库: pip install langchain
安装langchain_community库: pip install langchain_community

代码实现:

from langchain_community.llms import Ollama
host="xxx"
port="xxx" #默认的端口号为11434
# 如果自己本地系统有ollama服务,可以省略base_url
llm=Ollama(base_url=f"http://{host}:{port}", model="qwen2:1.5b",temperature=0)
res=llm.invoke("你是谁")
print(res)

5 requests调用

环境准备:

安装requests库: pip install requests

代码实现:

host="xxx"
port="xxx"
url = f"http://{host}:{port}/api/chat"
model = "qwen2:1.5b"
headers = {"Content-Type": "application/json"}
data = {"model": model, #模型选择"options": {"temperature": 0.  #为0表示不让模型自由发挥,输出结果相对较固定,>0的话,输出的结果会比较放飞自我},"stream": False, #流式输出"messages": [{"role": "system","content":"你是谁?"}] #对话列表}
response=requests.post(url,json=data,headers=headers,timeout=60)
res=response.json()
print(res)

相关文章:

  • windows服务器及网络:论如何安装(虚拟机)
  • 驱动开发硬核特训 · Day 15:电源管理核心知识与实战解析
  • 基于javaweb的SpringBoot儿童爱心管理系统设计与实现(源码+文档+部署讲解)
  • go语言对http协议的支持
  • 神经网络与模型训练过程笔记
  • PyTorch 深度学习实战(39):归一化技术对比(BN/LN/IN/GN)
  • 提示词设计:动态提示词 标准提示词
  • Android Studio 中 Drawable 详细全解
  • 计算机视觉cv入门之答题卡自动批阅
  • linux 搭建 dvwa 渗透测试环境
  • mysql的5.7版本与8.0版本的差异与兼容性
  • 从零创建 Docker 镜像
  • Django 使用教程
  • 【RabbitMQ | 第2篇】RabbitMQ 控制台实现消息路由 + 数据隔离
  • HarmonyOS-ArkUI-动画分类简介
  • VSCode 扩展离线下载方法
  • wpf stylet框架 关于View与viewmodel自动关联绑定的问题
  • 17.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--SonarQube部署与配置
  • 大数据可能出现的bug之flume
  • 【C++】深入浅出之多态
  • 上海农房翻建为何难?基层盼政策适度松动
  • 深一度|奥运一年后丢冠不稀奇,但究竟谁来扛起男乒的大旗
  • “棉花糖爸爸”陈生梨:女儿将落户到贵州纳雍
  • 官方披露:定西民政局原局长将收受烟酒高价“倒卖”给单位,用于违规接待
  • 42岁北京大学科学技术与医学史系副教授陈昊逝世
  • 日薪100元散发“引流小卡片”,上海浦东警方抓获2名违法人员