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

网站建设的总结与评价网页预览手机网站效果

网站建设的总结与评价,网页预览手机网站效果,万网部署wordpress发不出邮件,网站设计与建设第一章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/586012.html

相关文章:

  • 无锡网站推广经理荷塘网站建设
  • 全国部分高校精品课程建设网站衡水做网站哪儿好
  • 天河建设网站开发网站建设协议书是否贴花
  • 国内网站开发的主流技术平面设计培训班要学多久
  • 建网站需要那些工具wordpress设置固定链接和伪静态
  • 河南大学学科建设处网站周到的商城网站建设
  • 如何免费搭建自己的网站西安网站建设ipv6
  • 优秀网站设计欣赏图片wordpress全屏首页
  • 企业做网站的必要性动漫设计与制作专业的认识
  • 电子商务网站建设与维护试卷外贸工厂 网站建设
  • 个人做商贸网站淄博城乡建设局网站
  • 营销型网站建设风格设定包括哪些方面外贸网站有哪些
  • 网站描述怎么写利于seo网站图片自动下载
  • 手机电视网站大全石家庄工程造价信息网官网
  • 移动网站制作价格百度网站如何做
  • wordpress最近浏览器广州网站优化价格
  • 培训机构网站本地打开WordPress慢
  • 网站开发英文怎么说网站flash制作教程
  • 网站计数器代码js石材网站模板
  • 专业建设网站公司排名国内cms推荐
  • 南京网站建设培训网站建设广告平台推广
  • 阿里巴巴网站服务内容wordpress建图片网站
  • 域名网站备案管理系统wordpress驳回评论
  • wordpress开发企业网站wordpress建设资源站点插件
  • 织梦怎么做英文版网站中国建设银行积分兑换网站
  • 做网站找哪家公司好wordpress 轻博客
  • 长春网站优化教程网站建设客户合同
  • 万户网站建设成都建站seo
  • 网站域名收费标准动画设计工资
  • wordpress增加标签濮阳seo网站建设