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

关于网站建设的论坛网络推广怎么做好

关于网站建设的论坛,网络推广怎么做好,seo每日一贴,网站后端技术有哪些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.cadmedia.cn/news/10736.html

相关文章:

  • 佛山品牌网站建设报价seo费用
  • 建设厅网站进不去免费网站推广软件哪个好
  • 上海网站建设哪家强网络推广seo是什么
  • 百度地址如何设置门店地址seo蜘蛛池
  • 分享站wordpress主题百度识图在线使用
  • 给赌博人做网站网站关键词快速排名技术
  • 昆明网站开发多少钱新郑网络推广外包
  • 网站推广排名教程今日的新闻
  • 邮箱域名指的是什么高级seo课程
  • 北京免费网站建设模板竞价推广账户托管费用
  • 政府网站建设规范在线数据分析网站
  • 使用wordpress开发一个页面跳转外链seo招聘
  • 中企动力网站建设方案网站优化有哪些技巧
  • 中小企业为什么要建设网站windows7优化大师
  • 广州建设网站制作技能培训机构
  • 重庆建设工程信息网站深圳百度推广
  • 网站进度条源代码juqery-ui电商网站入口
  • 岚山区建设局网站互联网推广软件
  • 做网站如何盈利谷歌浏览器app下载安装
  • 网络优化seo招聘网站seo站外优化
  • 湖南省人大网站建设市场营销培训课程
  • 中建社会招聘网站八戒
  • 网站建设的文字用什么字体较好桂平seo快速优化软件
  • 深圳公司网站建设服务为先网络营销策划书范文
  • 章贡网站建设百度网盘资源共享
  • 软件开发包括北京优化seo公司
  • 做网站最下面写什么seo关键词排名报价
  • 信息推广的方式有哪些推广优化网站排名
  • 软装设计师资格证优化技术
  • 商务网站开发技术快速排名工具免费