当前位置: 首页 > wzjs >正文

沐雪专业网站建设wordpress get_post_mime_type

沐雪专业网站建设,wordpress get_post_mime_type,重庆免费自助建站模板,夜夜夜在线观看WIN10 本地部署 BGE Embedding 向量化模型 1.下载 BGE 模型2.安装1.创建虚拟环境2.安装依赖3.本地测试 3.将服务封装为HTTP可调用形式1.生成向量值2.相似度测试 1.下载 BGE 模型 Hugging Face 官网 最好是科学上网,或者从其他渠道下载 2.安装 本文通过 Anconda …

WIN10 本地部署 BGE Embedding 向量化模型

  • 1.下载 BGE 模型
  • 2.安装
    • 1.创建虚拟环境
    • 2.安装依赖
    • 3.本地测试
  • 3.将服务封装为HTTP可调用形式
    • 1.生成向量值
    • 2.相似度测试

1.下载 BGE 模型

Hugging Face 官网

最好是科学上网,或者从其他渠道下载

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)# 创建一个请求处理类,继承自BaseHTTPRequestHandler
class SimpleHTTPRequestHandler(http.server.BaseHTTPRequestHandler):# 处理GET请求的方法def do_GET(self):try:query_string = self.path.split('?')[-1]params = urllib.parse.parse_qs(query_string)# 解析GET参数md_type = params.get('type', [''])[0]content = params.get('content', [''])[0]# print(f"params content_1:{content_1} \n content_2:{content_2}")if md_type == 'zh':embeddings = model_zh.encode(content)elif md_type == 'en':embeddings = model_en.encode(content)elif md_type == 'm3':embeddings = model_m3.encode(content)else:embeddings = 'md type is error'# print(result)# print(type(embeddings))# 返回self.send_response(200)  # 设置响应状态码为200self.send_header('Content-type', 'text/plain')  # 设置响应头self.end_headers()  # 结束响应头的发送if type(embeddings) == str :self.wfile.write(embeddings.encode())  # 向客户端发送响应内容else:self.wfile.write(str(embeddings.tolist()).encode())  # 向客户端发送响应内容except Exception as e:print(e)# 创建并启动服务
httpd = socketserver.TCPServer((HOST, PORT), SimpleHTTPRequestHandler)
print(f'Serving at http://{HOST}:{PORT}')
httpd.serve_forever()

启动方式,激活虚拟环境,直接运行脚本

在这里插入图片描述

测试1错误的类型

http://127.0.0.1:8800?type=md&content=你好

在这里插入图片描述

测试2生成你好的向量值,结果长度 1024

http://127.0.0.1:8800?type=zh&content=你好

在这里插入图片描述

测试3生成Hello的向量值,结果长度 1024

在这里插入图片描述

2.相似度测试

# 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)# 创建一个请求处理类,继承自BaseHTTPRequestHandler
class SimpleHTTPRequestHandler(http.server.BaseHTTPRequestHandler):# 处理GET请求的方法def do_GET(self):try:query_string = self.path.split('?')[-1]params = urllib.parse.parse_qs(query_string)# 解析GET参数md_type = params.get('type', [''])[0]# 解析GET参数content_1 = params.get('content_1', [''])[0]content_2 = params.get('content_2', [''])[0]# print(f"params content_1:{content_1} \n content_2:{content_2}")type=1embeddings_1=[]embeddings_2=[]if md_type == 'zh':embeddings_1 = model_zh.encode(content_1)embeddings_2 = model_zh.encode(content_2)elif md_type == 'en':embeddings_1 = model_zh.encode(content_1)embeddings_2 = model_zh.encode(content_2)elif md_type == 'm3':embeddings_1 = model_zh.encode(content_1)embeddings_2 = model_zh.encode(content_2)else:type = 2# print(result)# print(type(embeddings))# 返回self.send_response(200)  # 设置响应状态码为200self.send_header('Content-type', 'text/plain')  # 设置响应头self.end_headers()  # 结束响应头的发送if type == 2 :self.wfile.write('md type is error'.encode())  # 向客户端发送响应内容else:result = embeddings_1 @ embeddings_2.Tself.wfile.write(str(result.tolist()).encode())  # 向客户端发送响应内容except Exception as e:print(e)# 创建并启动服务
httpd = socketserver.TCPServer((HOST, PORT), SimpleHTTPRequestHandler)
print(f'Serving at http://{HOST}:{PORT}')
httpd.serve_forever()

启动方式,激活虚拟环境,直接运行脚本

在这里插入图片描述

调用

http://127.0.0.1:8800?type=zh&content_1=小明把小红的自行车骑坏了&content_2=被小明骑坏的自行车是小红的

在这里插入图片描述

换成相反说法,相似度仍然很高,看来是有点小问题的
http://127.0.0.1:8800?type=zh&content_1=小明把小红的自行车骑坏了&content_2=被小红骑坏的自行车是小明的

在这里插入图片描述

http://www.dtcms.com/wzjs/785162.html

相关文章:

  • 常州建设银行网站首页武进网站建设基本流程
  • 青岛专业做商业房的网站wordpress完整安装包
  • 物流网站哪个好买链接网站
  • 做头像的网站空白服装加工平台
  • 网站建立需要多少钱公司建网站费用
  • 农业网站模板免费下载制作图片的软件叫什么
  • 拼车网站开发做企业网站多少钱
  • 网站设计制作收费明细微分销系统价格
  • 网站优化 套站小微企业2022年税收优惠政策
  • 中山网站建设文化咨询一级a做爰片免费网站国语版的
  • 深圳住建网站网页设计代码在哪里写
  • 苏州建站模板搭建做网站推广的优势
  • 品牌建设最高境界是培育客户成为seo搜索排名影响因素主要有
  • 版式设计网站知名网站
  • win7 发布asp网站网站开发薪水
  • 宜阳建站设计网站做多大合适
  • 网站建设与管理电子教程鞍山自适应网站制作
  • 怎么做网站跟域名海南网络推广公司
  • 网站引流推广软件优秀网站设计赏析怎么写
  • 工程建设标准网站网站建设公司怎么选择
  • 有域名的话怎么做网站wordpress文章目录树
  • 网站幻灯通栏代码wordpress添加侧边栏分享按钮
  • 网站备案号信息小树建站平台
  • 中国造价工程建设管理协会网站成都比较好的网站制作公司
  • 太原便宜做网站的公司济南网站制作网站
  • 长安做外贸网站沈阳市城乡建设局
  • 营销网站制作方法搜索引擎推广怎么做
  • 网站推广策划家庭宽带做网站稳定
  • 网站做好了怎么和域名net做公司网站是否适合
  • 建设银行北京分行招聘网站wordpress歌曲