【大模型搭建】部署Ollama,pull失败,手动构建方案

kk晏然 2024-08-16 13:01:02 阅读 78

Ollama 是一个专注于简化大规模机器学习模型开发的框架。它提供了一系列工具来帮助开发者轻松地定义、训练和部署大型语言模型。

优点:

• 提供了简洁的API,易于上手。

• 支持多种硬件加速选项,如GPU和TPU。

• 内置了许多预训练模型,方便快速开始实验。

缺点:

• 对一些高级功能支持有限,需要手动实现。

• 高并发性能受限,更新中

1、安装Ollama

Linux自动安装很简单,直接执行:

<code>curl -fsSL https://ollama.com/install.sh | sh

在这里插入图片描述

手动安装,其他环境安装,参考:地址

成功界面如下:

在这里插入图片描述

2、下载模型

<code>ollama pull gemma2

公司环境,代理服务器不够稳定,无法从库中直接拉取。

报错,且暂时没找到解决方法,采用3、手动下载模型

在这里插入图片描述

3、手动下载模型

创建一个文件夹存放权重文件gguf(比较大),去hugging face下载gguf。放在新建文件夹。创建构造文件gemma-9b.modelfile(自由命名),内容FROM ./gemma-2-9b-it-Q4_K_L.gguf(实际权重存放位置)。完整结构如下:

在这里插入图片描述

构造:

<code>ollama create gemma-9b -f gemma-9b.modelfile

测试:

ollama run gemma-9b "hi who are u?"

在这里插入图片描述

4、使用调用

上面命令行调用方式是一种。

url访问调用:

<code>curl http://localhost:11434/api/chat -d '{

"model": "gemma-9b",

"messages": [

{ "role": "user", "content": "why is the sky blue?" }

]

}'

在这里插入图片描述

python代码调用:

<code>import requests

import json

def send_message_to_ollama(message, port=11434):

url = f"http://localhost:{port}/api/chat"

payload = {

"model": "gemma-9b",

"messages": [{"role": "user", "content": message}]

}

response = requests.post(url, json=payload)

if response.status_code == 200:

response_content = ""

for line in response.iter_lines():

if line:

response_content += json.loads(line)["message"]["content"]

return response_content

else:

return f"Error: {response.status_code} - {response.text}"

if __name__ == "__main__":

user_input = "why is the sky blue?"

response = send_message_to_ollama(user_input)

print("Ollama's response:")

print(response)

在这里插入图片描述

参考地址:https://zhuanlan.zhihu.com/p/688811216

openui:https://blog.csdn.net/spiderwower/article/details/138463635

使用参考:https://zhuanlan.zhihu.com/p/695040359



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。