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

美国网站域名后缀高质量外链代发

美国网站域名后缀,高质量外链代发,海南赞赞网络科技有限公司,直接做那个视频网站文章目录 FastGPT 引申:基于 Python 版本实现 Java 版本 RRF函数定义使用示例 FastGPT 引申:基于 Python 版本实现 Java 版本 RRF 函数定义 使用 Java 实现 RRF 相关的两个函数:合并结果、过滤结果 import java.util.*;// 搜索结果类型定义…

文章目录

    • FastGPT 引申:基于 Python 版本实现 Java 版本 RRF
      • 函数定义
      • 使用示例

FastGPT 引申:基于 Python 版本实现 Java 版本 RRF

函数定义

使用 Java 实现 RRF 相关的两个函数:合并结果、过滤结果

import java.util.*;// 搜索结果类型定义
public class SearchDataResponseItem {private String id;private String q;private String a;private List<Score> score;private double rrfScore;  // 临时存储RRF分数// 其他字段...// getter和setter方法
}// 分数类型定义
public class Score {private String type;private double value;private int index;// getter和setter方法
}// 搜索结果合并工具类
public class DatasetSearchUtils {/*** RRF搜索结果合并* @param searchResults 搜索结果列表,包含k值和结果列表* @return 合并后的结果*/public static List<SearchDataResponseItem> datasetSearchResultConcat(List<SearchResultGroup> searchResults) {// 过滤空结果searchResults = searchResults.stream().filter(item -> !item.getList().isEmpty()).collect(Collectors.toList());// 处理边界情况if (searchResults.isEmpty()) {return new ArrayList<>();}if (searchResults.size() == 1) {return searchResults.get(0).getList();}// 用Map存储合并结果Map<String, SearchDataResponseItem> resultMap = new HashMap<>();// RRF算法实现for (SearchResultGroup group : searchResults) {int k = group.getK();List<SearchDataResponseItem> list = group.getList();for (int i = 0; i < list.size(); i++) {SearchDataResponseItem data = list.get(i);int rank = i + 1;double score = 1.0 / (k + rank);SearchDataResponseItem record = resultMap.get(data.getId());if (record != null) {// 合并分数List<Score> concatScore = new ArrayList<>(record.getScore());for (Score dataScore : data.getScore()) {Optional<Score> sameScore = concatScore.stream().filter(s -> s.getType().equals(dataScore.getType())).findFirst();if (sameScore.isPresent()) {sameScore.get().setValue(Math.max(sameScore.get().getValue(), dataScore.getValue()));} else {concatScore.add(dataScore);}}// 更新记录record.setScore(concatScore);record.setRrfScore(record.getRrfScore() + score);resultMap.put(data.getId(), record);} else {// 新记录data.setRrfScore(score);resultMap.put(data.getId(), data);}}}// 排序List<SearchDataResponseItem> results = new ArrayList<>(resultMap.values());results.sort((a, b) -> Double.compare(b.getRrfScore(), a.getRrfScore()));// 格式化结果for (int i = 0; i < results.size(); i++) {SearchDataResponseItem item = results.get(i);Optional<Score> rrfScore = item.getScore().stream().filter(s -> s.getType().equals("rrf")).findFirst();if (rrfScore.isPresent()) {rrfScore.get().setValue(item.getRrfScore());rrfScore.get().setIndex(i);} else {Score newScore = new Score();newScore.setType("rrf");newScore.setValue(item.getRrfScore());newScore.setIndex(i);item.getScore().add(newScore);}// 清除临时RRF分数item.setRrfScore(0);}return results;}/*** 按最大Token数过滤结果* @param list 搜索结果列表* @param maxTokens 最大token限制* @return 过滤后的结果*/public static List<SearchDataResponseItem> filterSearchResultsByMaxChars(List<SearchDataResponseItem> list, int maxTokens) {List<SearchDataResponseItem> results = new ArrayList<>();int totalTokens = 0;for (SearchDataResponseItem item : list) {// 注意:这里需要实现countPromptTokens方法int tokens = countPromptTokens(item.getQ() + item.getA());totalTokens += tokens;if (totalTokens > maxTokens + 500) {break;}results.add(item);if (totalTokens > maxTokens) {break;}}// 确保至少返回一条结果if (results.isEmpty() && !list.isEmpty()) {results.add(list.get(0));}return results;}/*** 计算文本的token数量* 注意:这是一个示例实现,实际需要根据具体的分词算法来实现*/private static int countPromptTokens(String text) {// 这里需要实现实际的token计算逻辑// 可以使用各种NLP库或自定义的分词算法return text.length(); // 示例实现}
}// 搜索结果分组类
class SearchResultGroup {private int k;private List<SearchDataResponseItem> list;// getter和setter方法
}

使用示例

// 使用示例
List<SearchResultGroup> searchResults = new ArrayList<>();
// ... 添加搜索结果// 合并结果
List<SearchDataResponseItem> mergedResults = DatasetSearchUtils.datasetSearchResultConcat(searchResults);// 过滤结果
List<SearchDataResponseItem> filteredResults = DatasetSearchUtils.filterSearchResultsByMaxChars(mergedResults, 1500);
http://www.dinnco.com/news/37649.html

相关文章:

  • 黄埔网站建设设计纯手工seo公司
  • 市总工会智慧网站建设材料什么是seo优化推广
  • 上海市建设安全协会 - 网站首页网站链接提交
  • 网站制作费用 政府采购线上推广具体应该怎么做
  • 网站建设调研背景推广普通话的重要意义
  • web网站开发文献综述太原网站建设
  • 公司自己做网站多少费用网站运营工作的基本内容
  • 旅游网站制作网络培训学校
  • 企业门户 登录网站推广优化的方法
  • 做交易网站需要用到的软件有哪些百度推广一天烧多少钱
  • wordpress图片下一篇百度关键词优化有效果吗
  • 上海做网站哪家正规怎样进行seo
  • 做视频网站该把视频文件传到哪培训网站制作
  • 企业免费推广网站站长之家网站介绍
  • 杭州h5模板建站seo的工作内容主要包括
  • 用servlet做外卖网站如何优化关键词的方法
  • 郑州小学班级网站建设上海抖音seo
  • 上海傲石设计网站宁波seo推广哪家好
  • 万江仿做网站百度官网app下载
  • 网站后台管理模板免费下载最新疫情最新数据
  • 做海报素材网站推荐西安疫情最新消息
  • 好女人生活常识网站建设营销网站的宣传、推广与运作
  • 找做钢筋笼的活网站广州seo外包公司
  • 简述建设一个商务网站的过程进一步优化营商环境
  • 百度推广怎么做的网站网站如何进行网络推广
  • 济南网站建设的费用南宁seo推广服务
  • 发布自己的做家教的网站东莞网络营销推广公司
  • 二手车网站建设搜索引擎营销名词解释
  • 句容网站建设开发网站建网站建设网站
  • 入户广州网站search搜索引擎