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

网站建设的实训报告的实训感受重庆企业型网站建设

网站建设的实训报告的实训感受,重庆企业型网站建设,destoon做众筹网站,网站建设用什么软件Qdrant是一个开源的向量相似度搜索引擎#xff0c;它提供了一个生产就绪的服务#xff0c;通过便捷的API来存储、搜索和管理带有额外有效载荷的向量。 存储高维向量数据 快速进行相似度搜索 管理带有元数据的向量 支持多种距离度量方式 go版本操作 安装第三方库 go get gi…Qdrant是一个开源的向量相似度搜索引擎它提供了一个生产就绪的服务通过便捷的API来存储、搜索和管理带有额外有效载荷的向量。 存储高维向量数据 快速进行相似度搜索 管理带有元数据的向量 支持多种距离度量方式 go版本操作 安装第三方库 go get github.com/qdrant/go-client/qdrantfunc QdrantInit() {if err : viper.UnmarshalKey(qdrant, globals.AppConfig.Qdrant); err ! nil {globals.Log.Panicf(无法解码为结构: %s, err)}var err errorglobals.Qdrant, err qdrant.NewClient(qdrant.Config{// 192.168.10.4Host: globals.AppConfig.Qdrant.Host,// 6334 grpc端口Port: globals.AppConfig.Qdrant.Port,APIKey: globals.AppConfig.Qdrant.ApiKey,SkipCompatibilityCheck: true,})if err ! nil {globals.Log.Panicf(Qdrant连接失败: %v, err)} else {globals.Log.Infof(Qdrant连接成功)} }// Collection 初始化向量存储 func Collection(client *qdrant.Client) {// 判断集合是否存在存在的集合不能重复创建exists, err : client.CollectionExists(ctx, collectionName)if err ! nil {globals.Log.Errorf(Collection-判断集合是否存在失败, err:%v, err)}if exists {// 清空指定集合err : client.DeleteCollection(ctx, collectionName)if err ! nil {globals.Log.Errorf(Collection-清空集合失败, err:%v, err)}}// 创建集合err client.CreateCollection(ctx,qdrant.CreateCollection{CollectionName: question_vector,VectorsConfig: qdrant.NewVectorsConfig(qdrant.VectorParams{Size: 2560,Distance: qdrant.Distance_Cosine,}),})if err ! nil {globals.Log.Errorf(Collection-创建集合失败, err:%v, err)return} }// StoreVector 存储向量 func StoreVector(list []string, msg []map[string]interface{}, client *qdrant.Client) {points : make([]*qdrant.PointStruct, len(list))// 生成向量vector, err : utils.GenerateVector(list)if err ! nil || vector nil {globals.Log.Errorf(StoreVector-生成向量失败, err:%v, err)return}for i, data : range vector.Vector {id, err : getID(msg[i])if err ! nil {globals.Log.Errorf(StoreVector-获取id失败, err:%v, err)return}points[i] qdrant.PointStruct{Id: qdrant.NewIDNum(id),Vectors: qdrant.NewVectors(data.Values...),Payload: qdrant.NewValueMap(msg[i]),}}// 加入重试操作err retry(3, 2*time.Second, func() error {// 批量插入向量_, err client.Upsert(context.Background(), qdrant.UpsertPoints{CollectionName: collectionName,Points: points,})return err})if err ! nil {globals.Log.Errorf(StoreVector-批量插入向量失败, err:%v, err)return} }// DeleteVector 删除向量 func DeleteVector(id []int, client *qdrant.Client) {// 获取要删除向量的idpoints : make([]*qdrant.PointId, len(id))for i, v : range id {points[i] qdrant.NewIDNum(uint64(v))}err : retry(3, 2*time.Second, func() error {// 根据id删除指定向量_, err : client.Delete(context.Background(), qdrant.DeletePoints{CollectionName: collectionName,Points: qdrant.NewPointsSelectorIDs(points),})return err})if err ! nil {globals.Log.Errorf(DeleteVector-删除向量失败: %v, err)}return }// UpdateVector 更新向量元数据 func UpdateVector(id []int, msg []map[string]interface{}, client *qdrant.Client) {// 批量修改向量元数据for i, m : range msg {m, err : getPayload(id[i], m, client)if err ! nil {globals.Log.Errorf(UpdateVector-获取向量元数据失败: %v, err)continue}pointID : qdrant.NewIDNum(uint64(id[i]))payload : qdrant.NewValueMap(m)err retry(3, 2*time.Second, func() error {_, err client.SetPayload(context.Background(), qdrant.SetPayloadPoints{CollectionName: collectionName,Payload: payload,PointsSelector: qdrant.NewPointsSelector(pointID),})return err})if err ! nil {globals.Log.Errorf(UpdateVector-更新向量元数据失败: %v, err)continue}} }// SearchSimilar 搜索相似标题 func SearchSimilar(list []string, limit, offset *uint64, client *qdrant.Client) ([]map[string]interface{}, int, error) {// 获得缓存向量vec, exist : getCachedVector(list[0])if !exist { // 缓存中不存在该向量// 获取向量数据库中的向量vec, exist getDatabaseVector(list[0], client)if !exist { // 向量数据库中不存在该向量vector, err : utils.GenerateVector(list)if err ! nil || vector nil {globals.Log.Errorf(SearchSimilar-生成向量失败, err:%v, err)return nil, 0, err}// 存储缓存向量cacheVector(list[0], vector.Vector[0].Values)vec vector.Vector[0].Values}}// 当偏移量超过集合点数时修正为0offset, err : correctOffset(offset, client)if err ! nil {globals.Log.Errorf(SearchSimilar-修正offset失败, err:%v, err)return nil, 0, err}threshold : float32(questionThreshold)// 获得相似向量的总数countTotal, err : client.Query(context.Background(), qdrant.QueryPoints{CollectionName: collectionName,Query: qdrant.NewQuery(vec...),ScoreThreshold: threshold,})if err ! nil {globals.Log.Errorf(SearchSimilar-查询总数失败, err:%v, err)return nil, 0, err}total : len(countTotal)// 搜索相似向量query, err : client.Query(context.Background(), qdrant.QueryPoints{CollectionName: collectionName,Query: qdrant.NewQuery(vec...),ScoreThreshold: threshold,WithPayload: qdrant.NewWithPayload(true),Limit: limit,Offset: offset,})if err ! nil {globals.Log.Errorf(SearchSimilar-分页查询失败, err:%v, err)return nil, 0, err}// 解析查询结果中的 payloadvar res []map[string]interface{}for _, point : range query {payload : convertPayload(point.Payload)res append(res, payload)}return res, total, nil }// getDatabaseVector 获取向量数据库中的向量 func getDatabaseVector(title string, client *qdrant.Client) ([]float32, bool) {limit, offset : uint64(1), uint64(0)query, err : client.Query(context.Background(),qdrant.QueryPoints{CollectionName: collectionName,Filter: qdrant.Filter{// 必须满足的过滤条件Must: []*qdrant.Condition{qdrant.NewMatchKeyword(title, title),},},Limit: limit,Offset: offset,WithVectors: qdrant.NewWithVectors(true),},)if err ! nil || len(query) 0 {globals.Log.Error(getDatabaseVector-查询存在的向量失败 error:, err)return nil, false}data : query[0].Vectors.GetVector().Datareturn data, true }
http://www.w-s-a.com/news/86755/

相关文章:

  • 如何快速建设网站虚拟空间软件
  • 一个虚拟主机可以做几个网站免费软件下载中心
  • 美工培训网站中国建筑网官网手机版
  • 创建网站花钱吗谁能给个网址免费的
  • 宁波教育学会网站建设网站建设价格由什么决定
  • 北京定制网站价格wordpress上传pdf文档
  • 网站建设费税率dz论坛seo设置
  • 推销网站话术商业网站开发与设计
  • 金华网站建设哪个网站做欧洲旅行比较好
  • 东莞市住房和城乡建设局网站trswcm网站建设
  • 郑州做网站企业h5编辑器免费版
  • 加强公司窗口网站建设陕西省外省入陕建筑信息平台
  • 成都网站优化实战大连企业网站建设模板
  • 服务器硬件影响网站速度seo网站推广价格
  • 学院网站开发竞争对手分析买网站送域名
  • 手机网站 jsp个人网页制作成品代码五个页面
  • ppt做长图网站wordpress文章页面图片自动适应
  • 做泌尿科网站价格京东商城网站建设教程
  • 像网站的ppt怎么做的移动app与网站建设的区别
  • 怎么建个人网站网站收录有什么用
  • 广州市医院网站建设广州头条新闻最近一周
  • 广州移动 网站设计中国交通建设监理协网站
  • 甘肃省第八建设集团公司网站wordpress topnews
  • 公司网站建设维保协议wordpress会员可看
  • 合肥百度网站排名优化深圳集团网站开发公司
  • 可以直接打开网站的方法手机回收站
  • 山西免费网站制作中天建设集团有限公司第九建设公司
  • 好的网站有哪些企业微信开发者工具
  • 网站通栏代码老外做的中国汉字网站
  • 东莞公司建站哪个更便宜wordpress宝塔伪静态