新闻详情

新闻详情

首页 / 资讯中心 / 详情

使用python实现向量化的三种方式

发布时间:2026/10/1 10:15:58来源:尧图网络
使用python实现向量化的三种方式
文本向量化(embedding)的核心作用就是把“文本”转换成“可以进行数学运算的语义表示”也就是向量从而让计算机能够进行相似度搜索、语义检索、聚类、推荐、分类等操作。文本转向量再进行相似度计算也是RAG文档分块的语义切分使用的方式。向量化向量模型/嵌入模型 不需要我们自己训练一般都会直接使用模型厂商提供的例如阿里的嵌入模型、BGE-M3等。注意不同的嵌入模型即使 使用相同的文本得到的向量一般也是不一样的因为不同的厂商语料不一样或者向量的维度不一样。方式1ollama本地部署嵌入模型下载嵌入模型ollama pull bge-m3下载完成后可以通过命令ollama list查看已安装的模型列表确认 bge-m3 是否已成功存在于本地ollama -embed : https://docs.ollama.com/api/embed 使用ollama本地部署的嵌入模型bge-m3 本地部署模型后访问嵌入模型以及输出文本的向量表示 importollama query西瓜query[西瓜,苹果]responseollama.embed(modelbge-m3,# ollama调用的模型inputquery,# 输入文本dimensions1024# 用于指定生成嵌入的维度数量bge-m3最多1024维)print(response.embeddings)# number[][]print(维度:,len(response.embeddings[0]))# print(维度:,len(response.embeddings[1]))注意Embedding 向量不是“单词含义的数字列表”它实际上是模型经过训练后在高维空间中形成的分布式语义表示。方式2使用在线模型开源模型可以本地部署这边使用国内托管的千问的嵌入模型qwen3.7-text-embedding-flashimportosfromopenaiimportOpenAI 使用在线嵌入模型Qwen的embedding模型 如何访问嵌入模型以及输出文本的向量表示 defqwen_text_embedding(query,modelqwen3.7-text-embedding-flash,dimensions1024):# 创建 大模型client:clientOpenAI(api_keyos.getenv(DASHSCOPE_API_KEY),base_urlhttps://dashscope.aliyuncs.com/compatible-mode/v1,)dataclient.embeddings.create(inputquery,modelmodel,dimensionsdimensions).data vector[x.embeddingforxindata]# 提取向量returnvectorif__name____main__:query很高兴遇见你vectorqwen_text_embedding(query,modelqwen3.7-text-embedding-flash)print(vector)print(第1句话的向量维度:,len(vector[0]))模型与费用对比https://docs.bailian.console.aliyun.com/zh/model-studio/text-embedding-batch-api方式3sentence-transformerssentence-transformers是一个 Python 库专门用来把句子、段落、短文本转成向量.fromsentence_transformers import SentenceTransformerfromsentence_transformers import util# 加载模型# model SentenceTransformer(BAAI/bge-m3)model SentenceTransformer(sentence-transformers/all-MiniLM-L6-v2)# 这个模型更小但性能稍差text 我喜欢吃西瓜embeddings model.encode(text)# 把文本转换成 Embedding 向量print(embeddings)print(embeddings.shape)# (384,) 384 维向量texts [如何养猫,猫咪饲养方法,今天天气不错,]embeddings model.encode(texts)print(embeddings)print(embeddings.shape)# (3384) 3句话384 维向量BGE-M3all-MiniLM-L6-v2模型来源BAAI智源Sentence-Transformers主要用途RAG、语义检索、多语言通用句子相似度向量维度1024384多语言✅ 很强⚠️ 主要偏英文中文✅⚠️ 效果有限模型大小较大很小速度较慢很快资源占用较高很低RAG⭐⭐⭐⭐⭐⭐⭐⭐
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

计算机网络怎么学?从分层原理到抓包实验与面试备考 2026/10/1 11:05:00

计算机网络怎么学?从分层原理到抓包实验与面试备考

很多人第一次翻开《计算机网络》这门课,心里想的就是“认识”两个字。但真正学起来才发现,这课居然能同时得罪数学、物理和英语不好的同学:路由算法是图论,信号编码是物理,协议名字全是英文缩写。更现实的是&#xff0…

阅读更多 →
Windows蓝屏全攻略:错误代码识别与三步排查法实战 2026/10/1 11:04:59

Windows蓝屏全攻略:错误代码识别与三步排查法实战

相信每个用过Windows的人,都见过那个经典的蓝色画面——屏幕突然一蓝,白色文字哗啦啦滚出来,然后鼠标键盘全没反应,你只能默默按下重启键。第一次遇到的人心里肯定会咯噔一下:“完了,是不是硬盘废了&#x…

阅读更多 →
Linux安装Nginx全流程详解:源码编译与包管理器实战指南 2026/10/1 11:04:53

Linux安装Nginx全流程详解:源码编译与包管理器实战指南

我接触 Linux 的第一台服务器,装的就是 Nginx。从那以后,差不多十年时间里,不管给客户搭 Web 服务、做反向代理,还是自己折腾静态博客,Nginx 都是最先装的那批组件。今天这篇不聊虚的,就把“linux 系统下载…

阅读更多 →
PHP+uniapp小说阅读APP开发实战:从接口设计到多端上线 2026/10/1 11:04:53

PHP+uniapp小说阅读APP开发实战:从接口设计到多端上线

做小说阅读类产品有个天然的好处:业务逻辑不算复杂,但坑一点都不少。图书元数据、章节内容、书架同步、阅读进度、书城推荐位和搜索排序,每一块单独拿出来都能写一篇。我最近完整做完了一套基于PHP后端 uniapp前端的“智能手机书籍小说阅读A…

阅读更多 →
OnlyOffice集成Spring Boot实战:部署、回调与协同编辑避坑指南 2026/10/1 11:04:46

OnlyOffice集成Spring Boot实战:部署、回调与协同编辑避坑指南

开头我一直觉得,OnlyOffice 这套东西在国内的讨论度其实被严重低估了。很多人一提到在线编辑,第一反应就是 Office Online Server、Collabora Online 或者 WPS 的集成方案,但真到自己动手部署、接入业务系统的时候,才发现里面坑多…

阅读更多 →
强化学习入门必知:重要性采样原理与PPO实战解析 2026/10/1 11:04:46

强化学习入门必知:重要性采样原理与PPO实战解析

1. 为什么每个强化学习入门者都要过重要性采样这道坎 刚开始接触强化学习时,多数人最先被劝退的往往不是神经网络结构,不是奖励函数设计,而是重要性采样(Importance Sampling)这一串数学符号。我在读Sutton的《Reinfor…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉