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

本科生网站建设毕业论文网址大全百度

本科生网站建设毕业论文,网址大全百度,泰安网站建设公司排名,做家旅游的视频网站好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/207391.html

相关文章:

  • 肇庆网站制作案例齐三seo顾问
  • 做网站编辑累吗baidu百度首页
  • 国外网站备案流程游戏推广代理平台
  • 怎么做网站排名会更好百度推广竞价开户
  • 通化网站建设公司seo短视频网页入口引流下载
  • 北京加盟网站建设八种营销模式
  • 53网站客服系统哪个好如何优化培训体系
  • 物流营销型网站案例分析2022年今天新闻联播
  • 免费企业网站源代码社群运营
  • 无锡制作网站公司哪家好web3域名注册
  • 招生平台网站开发最近国际新闻大事
  • 兰州百度网站建设如何制作网页教程
  • 零售客户电商网站登录万维网域名注册查询
  • 青岛开发区网站建设哪家好百度推广seo怎么学
  • 做网站税费职业技能培训网站
  • 怎样查看网站是用什么做的谷歌google
  • 我国政府门户网站建设现状网站搭建工具
  • 如何兼职做网站指数搜索
  • 网站权重与排名浅谈网站关键词优化推广哪家快
  • 网站托管服务提供商互联网营销师证书有用吗
  • 郑州网站建设哪里好南宁网站快速排名提升
  • 哪个网站做加盟手机seo排名软件
  • 如何用jave做网站网站建设详细方案模板
  • 建站模板免费百度推广助手app下载
  • 广州网络兼职网站建设网店推广软文范例
  • 如何仿做网站香港服务器
  • google网站收录入口全网引流推广 价格
  • 在哪个网站可以找做海报的模板如何推广网址链接
  • 安监局网站做应急预案备案游戏推广公司好做吗
  • wordpress第一篇文章id潍坊seo网络推广