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

做的比较好的教育网站wordpress设置注册页面

做的比较好的教育网站,wordpress设置注册页面,企业名录2021版,服务器对应的网站开发语言1 缘起 最近在研究与应用混合搜索#xff0c; 存储介质为ES#xff0c;ES作为大佬牌数据库#xff0c; 非常友好地支持关键词检索和向量检索#xff0c; 当然#xff0c;支持混合检索#xff08;关键词检索向量检索#xff09;#xff0c; 是提升LLM响应质量RAG(Retri…1 缘起 最近在研究与应用混合搜索 存储介质为ESES作为大佬牌数据库 非常友好地支持关键词检索和向量检索 当然支持混合检索关键词检索向量检索 是提升LLM响应质量RAG(Retrieval-augmented Generation)的一种技术手段 那么如何通过ES实现混合搜索呢 请看本篇文章。 本系列分为两大部分实践和理论。 先讲实践应对快速开发迭代可快速上手实践 再讲理论应对优化如归一化。 RAG理论ES混合搜索BM25kNN(cosine)以及归一化https://blog.csdn.net/Xin_101/article/details/140237669 2 实践 2.1 环境准备 2.1.1 部署ES 下载ES镜像8.12.2版本 docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2下载ik分词器 https://github.com/infinilabs/analysis-ik/releases 选择与ES版本一致或者可用的版本这里选择8.12.2版本分词器。 添加分词器 将分词器文件添加到目录/home/xindaqi/data/es-8-12-2/plugins 新建分词器文件夹mkdir -p /home/xindaqi/data/es-8-12-2/plugins/ik_analyzer_8.12.2 将zip文件复制到文件夹ik_analyzer_8.12.2 启动ES docker run -dit \ --restartalways \ --name es01-8-12-2 \ -p 9200:9200 \ -p 9300:9300 \ -v /home/xindaqi/data/es-8-12-2/data:/usr/share/elasticsearch/data \ -v /home/xindaqi/data/es-8-12-2/logs:/usr/share/elasticsearch/logs \ -v /home/xindaqi/data/es-8-12-2/plugins:/usr/share/elasticsearch/plugins \ -e ES_JAVA_OPS-Xms512m -Xmx1g \ -e discovery.typesingle-node \ -e ELASTIC_PASSWORDadmin-es \ -m 1GB \ docker.elastic.co/elasticsearch/elasticsearch:8.12.22.1.2 数据准备 实践之前需要准备数据包括索引和索引中存储的数据。 为了演示混合搜索这里创建两种类型的数据text和dense_vector。 1创建索引 curl -X PUT \http://localhost:9200/vector_5 \-H accept: application/json \-H Content-Type: application/json \-H Authorization: Basic ZWxhc3RpYzphZG1pbi1lcw \-d {settings: {index: {number_of_shards: 1,number_of_replicas: 1,refresh_interval: 3s}},mappings: {properties: {dense_values: {type: dense_vector,dims: 5,index: true,similarity: cosine},id: {type: keyword},ik_text: {type: text,analyzer: ik_max_word},default_text: {type: text},timestamp: {type: long},dimensions: {type: integer}}} }2新建数据 新建两条数据 curl -X POST http://localhost:9200/vector_5/_doc/1 \ --header Content-Type: application/json \ --header Authorization: Basic ZWxhc3RpYzphZG1pbi1lcw \ --data {dense_values: [0.1, 0.2, 0.3, 0.4, 0.5],id: 1,ik_text: 今天去旅游了,default_text:今天去旅游了,timestamp: 1715659103373,dimensions: 5 } curl -X POST http://localhost:9200/vector_5/_doc/2 \ --header Content-Type: application/json \ --header Authorization: Basic ZWxhc3RpYzphZG1pbi1lcw \ --data {dense_values: [0.1, 0.2, 0.3, 0.4, 0.5],id: 1,ik_text: 好美的太阳,default_text:好美的太阳,timestamp: 1715659103373,dimensions: 5 }2.2 向量搜索 kNN搜索 ES中向量搜索使用k-Nearest Neighbork最近邻分类算法进行搜索。 输入的请求参数如下 参数参数描述knn向量搜索k-Nearest Neighborfield向量字段名称query_vector向量值k召回结果数量num_candidates召回范围每个分片选取的数量 请求样例如下 由样例可知存储向量数据的字段名称为dense_values填充向量值字段为query_vector为固定属性召回结果k为3个每个分片选择100条数据num_candidates最大值为10000。 实际应用过程中又有向量数据较多依据维度而定为节约内存检索时在结果中排除excludes。 curl -X POST http://localhost:9200/vector_5/_search \ --header Content-Type: application/json \ --header Authorization: Basic ZWxhc3RpYzphZG1pbi1lcw \ --data {knn: {field: dense_values,query_vector: [0.1,0.1,0.1,0.1,0.1],k: 3,num_candidates: 100},_source: {excludes: [dense_values]} }检索结果如下 由于创建过程中使用的向量数据相同因此计算的结果也是相同的 使用 {took: 2,timed_out: false,_shards: {total: 1,successful: 1,skipped: 0,failed: 0},hits: {total: {value: 2,relation: eq},max_score: 0.8427159,hits: [{_index: vector_5,_id: 1,_score: 0.8427159,_source: {id: 1,ik_text: 今天去旅游了,default_text: 今天去旅游了,timestamp: 1715659103373,dimensions: 5}},{_index: vector_5,_id: 2,_score: 0.8427159,_source: {id: 1,ik_text: 好美的太阳,default_text: 好美的太阳,timestamp: 1715659103373,dimensions: 5}}]} }2.2 混合搜索 混合搜索即将搜索拆分成多个部分每个部分使用不同的权重实现混合搜索的效果。 ES中使用boost参数来分配不同部分的权重搜索案例如下。 由案例可知混合搜索使用关键词向量搜索关键词b1与向量总权重b2其中b1b21 案例中关键词权重为0.6向量权重0.4 关键词搜索将搜索的内容映射到query上权重映射到boost上 default_text为实际存储的属性名称。 curl -X POST http://localhost:9200/vector_5/_search \ --header Content-Type: application/json \ --header Authorization: Basic ZWxhc3RpYzphZG1pbi1lcw \ --data {query: {bool: {must: [{match: {default_text: {query: 好美的太阳,boost: 0.6}}}]}},knn: {field: dense_values,query_vector: [0.1,0.1,0.1,0.1,0.1],k: 3,num_candidates: 100,boost: 0.4},_source: {excludes: [dense_values]} }3 小结 1ES混合搜索通过boost配置比例其中关键词计算使用BM25计算分数同时加入boost参数 2关键词搜索boost基础比例为2.2计算过程boost2.2boost 3向量搜索的最终分数为final_scoreboostkNN。 计算过程参见文章RAG理论ES混合搜索BM25kNN(cosine)以及归一化 https://blog.csdn.net/Xin_101/article/details/140237669
http://www.pierceye.com/news/974504/

相关文章:

  • 工信部网站备案验证码文化传媒网站封面
  • 境外做网站网站百度代运营
  • 南京学校网站建设策划手机网站默认全屏
  • 东莞公司网站策划万网买网站
  • 建筑网站视频大全做外汇网站卖判刑多少年
  • 手机网站菜单网页怎么做东莞网站优化方案
  • 公众号免费素材网站wordpress无法开始安装
  • 建设银行互联网网站首页网站备案 视频
  • 免费优化网站建设做app和网站哪个比较好用
  • 韩国最牛的设计网站大全网站设计的尺寸
  • 一家专门做特卖的网站类似非小号的网站怎么做
  • 怎么建一个网站出口外贸交易平台
  • iapp用网站做软件代码徐州网络推广公司排名
  • 设计之路 网站wordpress自定义字段火车头
  • 用什么服务器做盗版小说网站吗邓州十九张麻将微信群app开发公司
  • 高端网站设计找哪个公司WordPress 移动文件夹
  • 做网站的资料新媒体网站建设十大的经典成功案例
  • 西安移动网站建设丹东做网站的
  • 石家庄网站建设优化建湖做网站哪家最好
  • 外贸电商做俄罗斯市场网站电子商务网站建设的步骤一般为(
  • 济南网站建设联 系小七太仓网页制作招聘
  • 大同网站建设公司建大网站
  • 网站开发 图片存放流量大的推广平台有哪些
  • 创意网站推荐深圳网站建设公司哪里有
  • 网站在百度无法验证码怎么办啊广州免费核酸检测地点查询
  • 山东网站建设公司哪家好怎么用html做个人的网页
  • 嘉兴网站排名优化价格石家庄站全景图
  • 辽宁鲲鹏建设集团网站网站建设分几种类型
  • 响应式网站开发有哪些框架建立网站的关键是定位
  • 郑州 网站建设的公司建设网站要钱么