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

营销型企业网站建设板块设置百度手机关键词排名工具

营销型企业网站建设板块设置,百度手机关键词排名工具,intitle 做网站,二级建造师官网查询系统RAG Fusion 是一种检索方法,旨在弥合传统搜索范式与人类查询的多维特性之间的差距。本项目受 Retrieval Augmented Generation (RAG) 的启发,进一步采用 多查询生成 和 互惠排序融合 (Reciprocal Rank Fusion, RRF) 来重新排名搜索结果,以提升…

        RAG Fusion 是一种检索方法,旨在弥合传统搜索范式与人类查询的多维特性之间的差距。本项目受 Retrieval Augmented Generation (RAG) 的启发,进一步采用 多查询生成互惠排序融合 (Reciprocal Rank Fusion, RRF) 来重新排名搜索结果,以提升检索效果。

        本实现基于 该 GitHub 仓库 进行重构,所有贡献归原作者所有。

环境设置

        本示例使用 Pinecone 作为向量数据库,并构造一组示例数据。

import pinecone
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Pineconepinecone.init(api_key="...", environment="...")all_documents = {"doc1": "Climate change and economic impact.","doc2": "Public health concerns due to climate change.","doc3": "Climate change: A social perspective.","doc4": "Technological solutions to climate change.","doc5": "Policy changes needed to combat climate change.","doc6": "Climate change and its impact on biodiversity.","doc7": "Climate change: The science and models.","doc8": "Global warming: A subset of climate change.","doc9": "How climate change affects daily weather.","doc10": "The history of climate change activism."
}vectorstore = Pinecone.from_texts(list(all_documents.values()), OpenAIEmbeddings(), index_name="rag-fusion"")

查询生成器

        我们将定义一个 LangChain 查询生成链,该链可以基于单个查询生成多个相关查询。

from langchain.chat_models import ChatOpenAI
from langchain.schema.output_parser import StrOutputParser
from langchain import hubprompt = hub.pull("langchain-ai/rag-fusion-query-generation")generate_queries = (prompt | ChatOpenAI(temperature=0) | StrOutputParser() | (lambda x: x.split("\n"))
)

定义完整检索链

        该检索链的执行流程如下:

  1. 生成多个查询。

  2. 使用检索器查询每个子查询。

  3. 使用 互惠排序融合 (RRF) 对结果重新排名。

注意:此过程不会执行最终的生成步骤,仅进行检索和融合。

original_query = "impact of climate change"
vectorstore = Pinecone.from_existing_index("rag-fusion", OpenAIEmbeddings())
retriever = vectorstore.as_retriever()from langchain.load import dumps, loadsdef reciprocal_rank_fusion(results: list[list], k=60):fused_scores = {}for docs in results:# 假设检索结果已按相关性排序for rank, doc in enumerate(docs):doc_str = dumps(doc)if doc_str not in fused_scores:fused_scores[doc_str] = 0fused_scores[doc_str] += 1 / (rank + k)reranked_results = [(loads(doc), score)for doc, score in sorted(fused_scores.items(), key=lambda x: x[1], reverse=True)]return reranked_resultschain = generate_queries | retriever.map() | reciprocal_rank_fusion# 执行查询
results = chain.invoke({"original_query": original_query})

结论

RAG Fusion 通过 多查询生成 + 互惠排序融合,提升了传统 RAG 框架的检索效果,适用于需要高精度检索的应用,如 科研论文、法律文档、技术资料 等。如果你有任何问题或改进建议,欢迎交流!

如果你觉得这篇博文对你有帮助,请点赞、收藏、关注我,并且可以打赏支持我!

欢迎关注我的后续博文,我将分享更多关于人工智能、自然语言处理和计算机视觉的精彩内容。

谢谢大家的支持!

http://www.dtcms.com/wzjs/348365.html

相关文章:

  • 绵阳做手机网站建设懂得网站推广
  • 老司机ae86ug最新人口seo怎么优化关键词排名培训
  • 做网站如何语音百度会员登录入口
  • 营销软文的范文佛山seo网站排名
  • 做网站要买什么空间百度小说搜索排行榜
  • django做网站快吗软文什么意思
  • 北京怎么建立网站文件外链
  • 做网站文字要求百度怎么推广网站
  • app和网站开发专业seo整站优化
  • 网站怎么做sem关键词优化报价查询
  • 做网站论文seo营销
  • 家具企业网站建设福州seo推广外包
  • 网站建设的风险分析seo 什么意思
  • 备案网站建设方案书范文seo零基础教学
  • 公司网站建设 上海windows优化大师可以卸载吗
  • 个人网站 备案 名称推广普通话手抄报句子
  • 百度网站托管seopeixun
  • 学做外挂的网站杭州百度整站优化服务
  • 济南网站建设制作设计网络推广用什么软件好
  • 石家庄疫情最新情况通报seo博客大全
  • 崆峒区城乡建设局网站企业网站cms
  • 建设网站考证电商数据统计网站
  • 微信公众号怎么做微网站百度搜索关键词热度
  • 点击图片是网站怎么做2345浏览器影视大全
  • 大型营销型网站制作泉州全网营销
  • 手工业网站怎么做爱站网怎么用
  • 空包网站分站怎么做百度灰色关键词代做
  • 江门网站推广哪里专业seo怎么搞
  • 开通公众号的流程关键词优化是什么
  • 东莞集团网站建设宁波seo公司推荐