|
本期给大家推荐有58k+star的开源大模型管理项目:ollama;
ollama是一款旨在简化大语言模型本地部署和运行的实用工具。它提供了一个轻量级且可扩展的框架,让开发者能够在本地机器上便捷地构建和管理LLMs。
这个框架非常适合初学者使用,它的调用方式已经封装成与OpenAI ChatGPT相同的标准输入输出,方便对接上层的问答系统。它支持众多大型模型,只需一个命令即可下载模型文件并启动服务,使用起来十分便捷高效。本文主要介绍如何利用docker部署ollama工具,快速部署llama3大模型服务。
下面是ollama支持的大模型列表:

完整的模型列表可以访问: https://ollama.com/library
github地址:
https://github.com/ollama/ollama
官网下载地址:
https://ollama.com/download ollama的安装过程简洁明了,如果你是macOS、Windows、Linux,可以直接访问上面的官网地址,下载安装包,一键安装服务,在此处就不详细叙述了。大部分的情况下,服务器一般都是linux的操作系统,本文推荐使用docker方式部署,方便系统环境之间的隔离!下面主要介绍如何利用docker安装ollama工具,并运行llama3大模型!
本文内容主要分为三个部分:
下面开始正式教程
部署前的准备工作:
1、安装好docker;
2、内存或者显存大小要求:
7B模型-至少需要8GB可用内存(显存);
13B模型-至少需要16GB可用内存(显存);
一、CPU方式部署ollama
1、拉取docker镜像
docker pull ollama/ollama
2、部署ollama容器
docker run -d -v $PWD/ollama:/root/.ollama -p 11434:11434 \--name ollama ollama/ollama --name ollama :表示创建的容器名为ollama ; -p 11434:11434:表示你的服务器11434端口,映射到容器内的11434端口;需要确保你的服务器11434端口未被占用-v $PWD/ollama:/root/.ollama:将服务器上当前所在路径下的ollama目录挂载映射到容器内的/root/.ollama目录;
3、进入ollama容器内部
docker exec -it ollama /bin/bash
4、运行llama3 模型服务
模型文件会自动下载;

等待下载完成即可,详细的使用教程请看下面的第三小节;
二、GPU方式部署ollama
1、安装 NVIDIA Container Toolkit. (若已安装则跳过这步!)
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installation
2、利用docker创建ollama容器
docker run -d --gpus=all -v $PWD/ollama:/root/.ollama \-p 11434:11434 --name ollama ollama/ollama
参数说明:
--gpus=all : 挂载全部的gpu
--name ollama :表示创建的容器名为ollama ; -p 11434:11434:表示你的服务器11434端口,映射到容器内的11434端口;需要确保你的服务器11434端口未被占用-v $PWD/ollama:/root/.ollama:将服务器上当前所在路径下的ollama目录挂载映射到容器内的/root/.ollama目录;容器部署成功后截图:

3、进入ollama容器内部
docker exec -it ollama /bin/bash
4、运行llama3 模型服务
模型文件会自动下载;


问题1:你是谁?

问题2:你会做什么?使用中文回答

llama3-7B的模型权重文件大小:4.3 GB左右:
三、llama3 大模型的使用教程
1、curl命令行调用方式
浏览器访问:ip:11434;可以看到显示ollama服务器正在运行;

利用curl的方式调用llama3大模型
curl http://localhost:11434/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "llama3", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Hello!" } ] }'

2、 python 代码调用llama3大模型
url="http://ip:11434/v1/chat/completions"
完整代码如下:
#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@File :ollama_function.py@Author :aixiaoxin@Date import requests
def request_chatgpt_function(): url="http://ip:11434/v1/chat/completions" #ip为你部署的ip OPENAI_API_KEY="sk-xxxxx" # 不需要修改 header={"Content-Type": "application/json","Authorization": "Bearer " +OPENAI_API_KEY} data={ "model": "llama3", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "你是谁?请用中文回答" } ], "temperature":0, "stream":False } response=requests.post(url=url,headers=header,json=data).json() print(response) return response
if __name__ == "__main__": request_chatgpt_function() # 利用request请求调用
运行截图:

更多调用chatgpt的方式,可以参考下面的文章:
python调用chatgpt的三种方法
以上就是今天的所有内容了!
若有任何gpt相关疑问,可以扫码加入技术交流群,一起探讨,可以通过公众号回复数字2,获取最新二维码。
参考文献:
ollama的docker部署教程:https://hub.docker.com/r/ollama/ollama
28k+star开源项目LobeChat的部署与使用教程
13k+star的LLM接口管理系统one-api的部署教程
ChatGLM3-6B大模型的部署与使用教程(保姆级)
|