HuggingFace Embedding 转为 Ollama Embedding

Ollama 是基于 LlamaCpp 开发的 CPU 上的推理引擎,通过 LlamaCpp 提供的脚本可以将大语言模型装换为 gguf 的二进制跟是文件,从而通过 Ollama 就行推理。Ollama 支持HuggingFace 大多开源模型,例如 Llama、Qwen、Gemma 和 Phi3 等等。

GGUF 是一个二进制格式,目标是将所有模型相关文件组装成为单个文件易于传输和管理。HuggingFace 通常使用的是 Pytorch 的 bin 格式或者是 Safetensors 格式,对于大语言模型转换比较简单,做好相应的 ChatTemplate 配置既可。

本文主要是讲述如果转换 Embedding Model,Embedding 也是基于 Transformer 框架的,但是 Embedding 分词器通常和 LLM 不太一样,在转换是我们需要进行调整。本文转换的是腾讯的 Embedding 模型,Conan-embedding-v1 目前这个模型在 MTEB 上综合排名第一。

在这里插入图片描述
首先,看一下模型的分词配置,使用的 BertTokenizer,需要模型并指定 WordPiece 分词器。

在这里插入图片描述
如果直接使用 LlamaCpp 的转换程序进行,转换会报如下错误。

NotImplementedError: BPE pre-tokenizer was not recognized

需要在 convert_hf_to_gguf_update.py 中配置模型

在这里插入图片描述

 {"name": "conan-embedding-v1",  "tokt": TOKENIZER_TYPE.WPM, "repo": "https://huggingface.co/TencentBAC/Conan-embedding-v1", },

下载模型,并在模型的目录下运行转换命令

python ../llama.cpp/convert_hf_to_gguf.py --outtype q8_0 .

模型配置文件

FROM ./Conan_Embedding_V1-324M-Q8_0.gguf

编译模型,模型编译完成之后,使用 Ollama 客户端调用模型

ollama build -f conan

总结

Ollama 使用时要特别注意分词器和 ChatTemplate, 否则对于语言模型输出结果会产生异常,对于 Embedding 模型会出现转换错误。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【运维监控】Prometheus+grafana监控zookeeper运行情况

运维监控系列文章入口:【运维监控】系列文章汇总索引 文章目录 一、prometheus二、grafana三、prometheus集成grafana监控zookeeper1、修改zookeeper配置2、修改prometheus配置3、导入grafana模板4、验证 本示例通过zookeeper自带的监控信息暴露出来,然后…

大模型入门3:理解LLAMA

LLama在transformers库中的代码,以及各部分原理Llama3.1技术报告LLama 33b 微调尝试 Model a stack of DecoderBlocks(SelfAttention, FeedForward, and RMSNorm) decoder block 整体结构:最大的区别在pre-norm x -> norm(x) -> attention() -…

Java应用压测工具JMeter

目录 1、下载JMeter 2、配置环境变量 3、配置语音 4、使用 1、下载JMeter Apache JMeter - Apache JMeter™ 千万别下载这个,会报错、 千万别下载这个,会报错、 千万别下载这个,会报错 下载这个,失败多下载几次 2、配置环…

视图(mysql)

一、什么是视图 视图是⼀个虚拟的表,它是基于⼀个或多个基本表或其他视图的查询结果集。视图本⾝不存储数 据,⽽是通过执⾏查询来动态⽣成数据。⽤⼾可以像操作普通表⼀样使⽤视图进⾏查询、更新和管 理。视图本⾝并不占⽤物理存储空间,它仅…

【python计算机视觉编程——9.图像分割】

python计算机视觉编程——9.图像分割 9.图像分割9.1 图割安装Graphviz下一步:正文9.1.1 从图像创建图9.1.2 用户交互式分割 9.2 利用聚类进行分割9.3 变分法 9.图像分割 9.1 图割 可以选择不装Graphviz,因为原本觉得是要用,后面发现好像用不…

Docker常用操作(基础篇)

Docker常用操作一览图 #查看镜像 docker images #拉取nginx镜像 docker pull nginx #拉取mysql镜像 docker pull mysql docker run -d --name nginx1 -p 80:80 nginx #docker run -d:创建并运行一个容器,-d是让容器以后台进程运行 #--name nginx1&#…

springBoot 集成https

springBoot 集成https 1、springBoot默认的证书格式 pring Boot 需要 .p12 或 .jks 格式的证书。如果你只有 .pem 和 .key 文件,可以使用 openssl 工具将它们转换成 .p12 文件 2、转换.p12 我的证书文件如下,需要转换 2.1 下载openssl https://slpr…

Docker零基础入门

参考课程https://www.bilibili.com/video/BV1VC4y177re/?vd_source=b15169a302bee35f484245aecc69d4dd 参考书籍Docker 实践 - 面向 AI 开发人员的 Docker 实践 (dockerpractice.readthedocs.io) 1. 什么是Docker 1.1. Docker起源 随着计算机的发展,计算机上已经可以运行多…

abVIEW 可以同时支持脚本编程和图形编程

LabVIEW 可以同时支持脚本编程和图形编程,但主要依赖其独特的 图形编程 环境(G语言),其中程序通过连线与节点来表示数据流和功能模块。不过,LabVIEW 也支持通过以下方式实现脚本编程的能力: 1. 调用外部脚本…

光伏选址和设计离不开气象分析!

都说光伏选址和设计离不开气象分析,气象条件对太阳能发电影响较大,具体有哪些影响呢?今天我就来讲解下。 - 太阳辐射:太阳辐射的强度是光伏发电的首要因素,对光伏发电有着重要的影响。太阳辐射的强度决定了光伏发电系…

vue2制作高复用页面

记录一下页面搭建记录,利用vue2组件化开发的思想。这个页面适合于大部分信息管理系统~。模板固定,每次使用,直接修改表单表格参数,api接口等。 以上图页面为例,一个基础数据信息页面可以分为,分类&#xff…

Uniapp + Vue3 + Vite +Uview + Pinia 实现购物车功能(最新附源码保姆级)

Uniapp Vue3 Vite Uview Pinia 实现购物车功能(最新附源码保姆级) 1、效果展示2、安装 Pinia 和 Uview3、配置 Pinia4、页面展示 1、效果展示 2、安装 Pinia 和 Uview 官网 https://pinia.vuejs.org/zh/getting-started.html安装命令 cnpm install pi…

docker-compose elasticsearch 集群搭建(用户登录+https访问)

文章目录 前言docker-compose elasticsearch 集群搭建(用户登录+https访问)1. 效果2. 制作elasticsearch + 分词器镜像2.1. 拉取elasticsearch:7.11.12.2. 制作特定版本镜像3. docker-compose elasticsearch 集群制作4. es账户密码初始化前言 如果您觉得有用的话,记得给博主点…

Proxyless Service Mesh:下一代微服务架构体系

一、项目背景及意义 在当今的微服务架构中,应用程序通常被拆分成多个独立的服务,这些服务通过网络进行通信。这种架构的优势在于可以提高系统的可扩展性和灵活性,但也带来了新的挑战,比如: 服务间通信的复杂性&#…

STM32中的计时与延时

前言 在裸机开发中,延时作为一种规定循环周期的方式经常被使用,其中尤以HAL库官方提供的HAL_Delay为甚。刚入门的小白可能会觉得既然有官方提供的延时函数,而且精度也还挺好,为什么不用呢?实际上HAL_Delay中有不少坑,而这些也只是HAL库中无数坑的其中一些。想从坑里跳出来…

安卓13允许app启动服务 android13允许应用启动服务 无法启动服务 Background start not allowed: service

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 android13应用启动服务,有些应用会被禁止启动服务,开启的服务会失败,这是高版本的android的特性,我们需要更改下frameworks的代码。 2.问题分析 查看下logcat信息 B…

军用软件安全性可靠性设计与编码规范技术培训

​课程介绍: 随着我国武器装备数字化、智能化水平不断提高,软件在武器装备中的作用越来越关键。由于软件能以人所不能比的速度可靠地完成关键控制任务,几乎在每个重要系统中都由计算机系统来进行控制,软件在运行和控制危险以及在…

破解AI生成检测:如何用ChatGPT降低论文的AIGC率

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 降低论文的“AIGC率”是个挑战,但有一些策略可以尝试。使用ChatGPT逐步调整和改进内容,使其更加自然和原创,降低AI检测工具识别出高“AIGC率”的概率…

源码运行springboot2.2.9.RELEASE

1 环境要求 java 8 maven 3.5.2 2 下载springboot源码 下载地址 https://github.com/spring-projects/spring-boot/releases/tag/v2.2.9.RELEASE 3 修改配置 修改spring-boot-2.2.9.RELEASE/pom.xml 修改spring-boot-2.2.9.RELEASE/spring-boot-project/spring-boot-tools…

基于Vue的兴趣活动推荐APP的设计与实现_kaic

摘 要 近年来,随着互联网不断的普及与发展,生活也变的多姿多彩,每个人几乎都有属于自己的小小兴趣圈子,但人们的兴趣却不止一个,大多数人是没有时间为自己的兴趣“买单”的。为了解决我们在生活中对于各种兴趣活动的…