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

Ollama 是一个专注于简化大规模机器学习模型开发的框架。它提供了一系列工具来帮助开发者轻松地定义、训练和部署大型语言模型。
优点:
• 提供了简洁的API,易于上手。
• 支持多种硬件加速选项,如GPU和TPU。
• 内置了许多预训练模型,方便快速开始实验。
缺点:
• 对一些高级功能支持有限,需要手动实现。
• 高并发性能受限,更新中

1、安装Ollama

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

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

在这里插入图片描述
手动安装,其他环境安装,参考:地址
成功界面如下:
在这里插入图片描述

2、下载模型

ollama pull gemma2

公司环境,代理服务器不够稳定,无法从库中直接拉取。
报错,且暂时没找到解决方法,采用3、手动下载模型
在这里插入图片描述

3、手动下载模型

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

ollama create gemma-9b -f gemma-9b.modelfile

测试:

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

在这里插入图片描述

4、使用调用

上面命令行调用方式是一种。
url访问调用:

curl http://localhost:11434/api/chat -d '{
  "model": "gemma-9b",
  "messages": [
    { "role": "user", "content": "why is the sky blue?" }
  ]
}'

在这里插入图片描述

python代码调用:

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

常见点云处理总结汇总

点云处理是一系列操作和技术,用于分析和处理三维点云数据,以提取有用的信息并生成可视化结果。以下是常见的点云处理方法及其简要说明: 1. 点云预处理 滤波:去除噪声和无效点,如使用统计滤波、半径滤波等。下采样&a…

IDEA自动生成测试类以及测试方法(JUnit测试工具)

IDEA自动生成测试类以及测试方法 (1) 光标移至需要生成测试类的类后面,右击 Go To → Test, 或者直接使用快捷键 Ctrl Shift T 。 (2)点击 Create New Test (3)设置测试库和测试方法,点击 OK &#xff…

赋能 Web3 与 AI 的未来,TARS 协议如何重塑去中心化生态?

TARS 协议如何在 Web3 生态中引领 AI 技术的变革?作为新兴的模块化 AI 平台,TARS 通过整合先进的 AI 模型和区块链技术,为用户提供了更加智能、安全和高效的解决方案。让我们一起回顾第 16 期 TinTinAMA 的精彩内容吧! 在 TinTinL…

一场夏测杀出个“双冠王”,极越01成为纯电SUV标杆

文 | AUTO芯球 作者 | 雷慢 万万没想到,懂车帝夏测运动会杀出一匹最大的黑马,竟然是极越01。 当前正在进行的懂车帝夏测运动会,在“纯电SUV/MPV续航达成率”赛事中,极越01以85.8%的续航达成率获得第一名。并且由于赛制规则限制…

WebRTC批量发送消息API接口的特性有哪些?

WebRTC批量发送消息api接口怎么样?接口性能怎么用? WebRTC技术允许浏览器和移动应用进行实时通信。通过WebRTC,开发者可以构建视频、语音、数据共享等应用。AokSend将重点探讨WebRTC批量发送消息API接口的特性。 WebRTC批量发送消息API接口…

《昇思25天学习打卡营第1天|QuickStart》

说在前面 曾经接触过华为的910B服务级显卡,当时基于910B做了一些开发的工作,但是总感觉做的事情太低层,想要能自顶向下的了解下,因此开始了MindSpore的学习。另外也想给予提供的显卡,简单尝试下llm模型的训练&#xf…

静态时序分析:Leaf Cell(叶单元)

相关阅读​​​​​​​静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html 在DC中,leaf cell(叶单元)有时会出现在描述中,例如set_input_delay的-reference_pin选项的参数,就必须是一个端口或…

元组列表之案例

1.列表推导式 基本语法: [表达式 for语句1 if 语句1 for语句2 if语句2 ........ ] 1.零到九的平方列表 a [i*i for i in range(10)] print(a) 2.for 循环前面加if else #如果是偶数乘以2,如果是奇数直接输出 a [i*2 if i%2 0 else i for i in ran…

windows下安装和使用nacos

概述 Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发 现、服务配置、服务元数据及流且管理 Nacos官方文档:https://nacos.io/zh-cn/docs/quick-start.html Nacos下载地址:https://n…

入门PHP就来我这(高级)24 ~ Session判断用户登录

有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享 路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。 上一篇我们介绍了Session管理部分的概念,本文通过session来改写一些用户登录&…

Unity发布webgl之后修改StreamingAssets 内的配置文件读取到的还是之前的配置文件的解决方案

问题描述 unity发布webgl之后,修改在StreamingAssets 中的配置信息,修改之后读取的还是之前的配置信息 读取配置文件的代码IEnumerator IE_WebGL_LoadWebSocketServerCopnfig(){var uri new System.Uri(Path.Combine(Application.streamingAssetsPath…

和鲸101计划夏令营火热进行中!北中医助阵医学数据探索

上周,和鲸社区 2024 夏令营已经正式开营! 从 2021 年开始,和鲸社区在每年暑假期间都会为大家提供集中化、系统化的数据科学相关的技能实践和培训,每年都有几千名同学借此机会积累宝贵的实战经验,丰富个人简历作品&…

新质生产力赛道核心解读,机械制造何以“向智向新”

机械行业,国民经济的坚实基石与核心驱动力,为各行各业提供高效生产工具。立于产业链的中游,向上游紧密连接着高精尖的核心零部件制造商与基础原材料供应商;向下游,则广泛渗透并深刻影响着基础设施建设、交通运输&#…

Python实现动态迷宫生成:自动生成迷宫的动画

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame定义迷宫生成类主循环 完整代码 引言 迷宫生成算法在游戏开发和图形学中有着广泛的应用。它不仅可以用于创建迷宫游戏,还可以用于生成有趣的图案。在这篇博客中,我们将使用Python…

字节8年经验之谈!好用移动APP自动化测试框架有哪些?

移动App自动化测试框架是为了提高测试效率、降低测试成本而开发的一套工具和方法。好用的移动App自动化测试框架有很多,下面将介绍一些常用的框架,并提供一篇超详细和规范的文章,从零开始帮助你搭建一个移动App自动化测试框架。 1. Appium&a…

常见的点云数据的获取方式

1. 激光雷达(LiDAR) 获取方式:激光脉冲测距原理:激光雷达通过发射激光脉冲并接收反射信号来测量物体与传感器之间的距离。计算激光脉冲从发射到返回所需的时间,并将其转换为距离,从而生成三维点云数据。常…

MySQL 面试相关问题

写在前面: 不喜勿喷,暴躁作者又不求你给钱【没办法,遇见的狗喷子太多了🐶】欢迎大家在评论区留言,指正文章中的信息错误有一些其他相关的问题,可以直接评论区留言,作者看到会及时更新到文章末尾…

【人工智能】-- 受限玻尔兹曼机

个人主页:欢迎来到 Papicatch的博客 课设专栏 :学生成绩管理系统 专业知识专栏: 专业知识 文章目录 🍉引言 🍉受限玻尔兹曼机 🍈RBM的结构 🍍RBM的架构图 🍍RBM的经典实现 &…

LeetCode HOT100(二)双指针

移动0 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 解法1:双指针交换 指针L&…

达梦数据库中的线程和进程

达梦数据库中的线程和进程 在达梦数据库中,线程和进程的概念与操作系统中的定义类似,但有一些特定的实现细节和用途。以下是达梦数据库中线程和进程的一些关键点: 进程(Process): 在达梦数据库中&#x…