WIN10 本地部署 BGE Embedding 向量化模型
1.下载 BGE 模型
最好是科学上网,或者从其他渠道下载
2.安装
本文通过 Anconda 创建虚拟环境演示,可以直接用本地环境或其他虚拟形式,Anconda 的替代包可以用 Miniforge(命令是与 Anconda 兼容的)
1.创建虚拟环境
## 查看版本
conda -V
## 查看已有环境列表
conda env list
## 创建环境
conda create -n env-bge python=3.10
2.安装依赖
## 激活虚拟环境
conda activate env-bge
## 依赖包
pip install -U FlagEmbedding
3.本地测试
在模型文件所在的目录,打开控制台文件夹,并切换到虚拟环境 env-bge
测试命令
## 激活虚拟环境
conda activate env-bge
## BGE 命令
from FlagEmbedding import BGEM3FlagModel
model = BGEM3FlagModel('bge-m3', use_fp16=True)
sentences_1 = ["你多大了"]
sentences_2 = ["你几岁了"]
embeddings_1 = model.encode(sentences_1, batch_size=12, max_length=8192)['dense_vecs']
embeddings_2 = model.encode(sentences_2)['dense_vecs']
similarity = embeddings_1 @ embeddings_2.T
3.将服务封装为HTTP可调用形式
1.生成向量值
# encoding=utf-8
import http.server
import socketserver
import urllib.parse
from FlagEmbedding import FlagModel
# 设置HTTP服务的端口号
HOST = '0.0.0.0'
PORT = 8800
# 读取模型
model_zh = FlagModel('ZH\\bge-large-zh', use_fp16=True)
model_en = FlagModel('EN\\bge-large-en', use_fp16=True)
model_m3 = FlagModel('M3\\bge-m3', use_fp16=True)
# 创建一个