Promptriever:信息检索模型,支持自然语言提示响应用户搜索需求

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
简介: Promptriever 是一种新型信息检索模型,由约翰斯·霍普金斯大学和 Samaya AI 联合推出。该模型能够接受自然语言提示,并以直观的方式响应用户的搜索需求。通过在 MS MARCO 数据集上的训练,Promptriever 在标准检索任务上表现出色,能够更有效地遵循详细指令,提高查询的鲁棒性和检索性能。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 模型类型:新型信息检索模型,支持自然语言提示。
  2. 功能特点:动态调整相关性,提高检索鲁棒性和性能。
  3. 技术架构:基于双编码器架构和大型语言模型。

正文(附运行示例)

Promptriever 是什么

公众号: 蚝油菜花 - promptriever

Promptriever 是由约翰斯·霍普金斯大学和 Samaya AI 联合推出的新型检索模型。它能够像语言模型一样接受自然语言提示,并以直观的方式响应用户的搜索需求。该模型基于 MS MARCO 数据集的指令训练集进行训练,在标准检索任务上表现出色,能够更有效地遵循详细指令,提高对查询的鲁棒性和检索性能。

Promptriever 展示了将大型语言模型的提示技术与信息检索相结合的潜力,为用户提供更自然、更高效的搜索体验。

Promptriever 的主要功能

  • 接受自然语言提示:能理解并响应自然语言形式的提示,让用户用更自然的方式表达搜索需求。
  • 动态调整相关性:根据用户的具体指令动态调整搜索结果的相关性,例如,根据用户对搜索结果的具体要求(如时间范围、特定属性)过滤和排序文档。
  • 提高检索鲁棒性:基于理解和处理自然语言中的细微差别,增强模型对于不同查询表达的鲁棒性。
  • 提升检索性能:基于提示进行超参数搜索,改善检索结果的质量。

Promptriever 的技术原理

  • 双编码器架构:基于双编码器(bi-encoder)架构,用大型语言模型(如 LLaMA-2 7B)作为其背后的支持模型。
  • 指令训练数据集:从 MS MARCO 数据集中筛选和发布新的指令级训练集,在训练中包含定义查询相关性的自然语言指令。
  • 指令生成:用语言模型生成更具体的指令,指令能添加额外的要求或明确排除某些类型的文档。
  • 指令负例挖掘:基于生成和过滤(query, passage)对,创建出在加入特定指令后相关性降低的负例,迫使模型学习如何根据指令调整相关性判断。
  • 零样本提示技术:基于零样本提示技术进行超参数搜索,类似于语言模型的提示,改善检索性能。

如何运行 Promptriever

环境设置

首先,确保你已经安装了 Conda 和必要的依赖项:

bash setup/install_conda.sh # 如果你还没有安装 Conda
bash setup/install_req.sh
pip install git+https://github.com/orionw/tevatron

运行 MSMARCO 实验

你可以通过以下命令运行 MSMARCO 实验:

bash msmarco/encode_corpus.sh <output_path> <model_name>
bash msmarco/encode_queries.sh <output_path> <model_name>
bash msmarco/search.sh <output_path>

运行 BEIR 实验

你可以通过以下命令运行 BEIR 实验:

bash scripts/beir/matrix_of_corpus.sh
bash scripts/beir/matrix_of_prompts.sh
bash scripts/beir/search_all_prompts.sh <output_path>

或者,你也可以只运行一个模型:

bash beir/run_all.sh <model_name> <output_nickname>
bash beir/run_all_prompts.sh <model_name> <output_nickname>
bash beir/search_all_prompts.sh <output_path>

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
2月前
|
人工智能 搜索推荐 API
用于企业AI搜索的Bocha Web Search API,给LLM提供联网搜索能力和长文本上下文
博查Web Search API是由博查提供的企业级互联网网页搜索API接口,允许开发者通过编程访问博查搜索引擎的搜索结果和相关信息,实现在应用程序或网站中集成搜索功能。该API支持近亿级网页内容搜索,适用于各类AI应用、RAG应用和AI Agent智能体的开发,解决数据安全、价格高昂和内容合规等问题。通过注册博查开发者账户、获取API KEY并调用API,开发者可以轻松集成搜索功能。
|
5月前
|
人工智能 自然语言处理 搜索推荐
解读阿里云搜索开发工作台如何快速搭建AI语义搜索及RAG链路
本文介绍阿里云搜索开发工作台如何通过内置数据处理、查询分析、排序、效果测评、大模型等服务,结合阿里云搜索引擎及开源引擎,灵活打造AI语义搜索及RAG链路。
19945 15
|
5月前
|
人工智能 自然语言处理 搜索推荐
阿里云搜索开发工作台:快速搭建AI语义搜索与RAG链路的深度解析
阿里云搜索开发工作台凭借其丰富的组件化服务和强大的模型能力,为企业快速搭建AI语义搜索及RAG链路提供了有力支持。通过该平台,企业可以灵活调用各种服务,实现高效的数据处理、查询分析、索引构建和文本生成等操作,从而大幅提升信息获取与处理能力。随着AI技术的不断发展,阿里云搜索开发工作台将继续优化和完善其服务,为企业数字化转型和智能化升级注入更强动力。
164 0
|
5月前
|
人工智能 自然语言处理 搜索推荐
阿里云搜索开发工作台:打造智能语义搜索与RAG链路
随着大数据时代的信息爆炸,传统关键字搜索难以满足精准需求。阿里云搜索开发工作台集成AI技术和语义理解,助力企业快速构建智能语义搜索与RAG系统。该平台支持多源数据接入、NLP查询分析、高级排序算法及效果评估工具,并集成大规模预训练模型提升搜索质量。构建流程涵盖数据准备、索引构建、查询分析、文档检索、结果生成及展示。应用场景包括客户支持、内容推荐、电商搜索和新闻聚合等,极大提升了搜索的准确性和用户体验。
|
机器学习/深度学习 自然语言处理 安全
【网安专题11.8】14Cosco跨语言代码搜索代码: (a) 训练阶段 相关程度的对比学习 对源代码(查询+目标代码)和动态运行信息进行编码 (b) 在线查询嵌入与搜索:不必计算相似性
【网安专题11.8】14Cosco跨语言代码搜索代码: (a) 训练阶段 相关程度的对比学习 对源代码(查询+目标代码)和动态运行信息进行编码 (b) 在线查询嵌入与搜索:不必计算相似性
266 0
|
7月前
|
人工智能 开发工具 git
语义搜索测试
语义搜索测试
71 0
|
人工智能 自然语言处理 算法
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
|
机器学习/深度学习 存储 人工智能
「智能企业搜索」:为什么知识图和NLP可以提供所有正确答案
「智能企业搜索」:为什么知识图和NLP可以提供所有正确答案
|
存储 自然语言处理 前端开发
基于solr实现通用:输入提示、纠错、拼音搜索、繁体搜索方案
假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。文本介绍基于solr实现通用:输入提示、纠错、拼音搜索、繁体搜索方案。
393 0
基于solr实现通用:输入提示、纠错、拼音搜索、繁体搜索方案
|
自然语言处理 算法
交互搜索中的自然语言理解技术
交互搜索 交互搜索是一种新的产品形态,可以和用户对话,记住用户的购物需求和偏好,提供购物知识和建议。在搜索页面下拉就可以进入了,类似于微信的小程序的进入方式。 自然语言理解 对话和搜索的最大区别就是对话是多轮的,而搜索是单轮的。
6314 0

热门文章

最新文章