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

深圳网站建设电话咨询人工智能网站应怎么做

深圳网站建设电话咨询,人工智能网站应怎么做,邢台集团网站建设价格,好的网站搭建公司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.hkea.cn/news/14371002/

相关文章:

  • 网站里的聊天怎么做广告设计制作公司经营范围
  • 网站建设类型有哪些方面中铁建设集团门户网登录不上去
  • 产品推广词南宁软件优化网站建设
  • 出版社类网站模板辉煌电商seo
  • 好的建站网站上海中国国际进口博览会
  • 个人网站建设需要多少钱网站建设faq系统指什么
  • 做印刷哪个网站好WordPress为什么卡
  • 外贸网站平台有几个163网易邮箱
  • 局域网站建设教程申报教学成果奖网站建设
  • 特别酷炫网站个人网页设计模板html代码
  • 旅行社网站建设规划的内容wordpress 商品推广
  • 网站一年费用多少钱模板网站和定制网站影响排名
  • 江西省建设质量监督局网站开源微信商城源码
  • 站长网网站模板下载青海企业网站建设开发
  • 电子商务网站建设需求概述网站开发需要的软件有哪些
  • 境外电商平台有哪些青岛网站建设优化
  • 海南城乡和住房建设厅网站施工企业造价管理
  • 建设部网人事考试网站建设校园网站的好处
  • 网站建设京icp备自由人网站开发
  • 自己怎么建个免费网站手机网站功能开发方案
  • 建设网站要多久到账西安技术网站建设
  • 网站有什么组成wordpress 去除版本号
  • 网站制作赚钱吗企业所得税税率5%
  • 茂县建设局网站三维免费网站
  • 能利用双股铜芯电话线做网站吗腾讯云做视频网站吗
  • 邵武建设局网站搜索公司信息的软件
  • 免费创建网站的软件什么做网站做个多少钱啊
  • 开源网站程序网站开发设计师岗位职责
  • 做网站申请域名的流程阿里云建立网站
  • 微网站开发平台案例一键制作短视频