OpenScholar:华盛顿大学联合艾伦研究所开源的学术搜索工具

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
简介: OpenScholar是由华盛顿大学和艾伦AI研究所联合开发的开源学术搜索工具,旨在通过检索和综合科学文献中的相关论文来回答用户问题。该工具利用大规模科学论文数据库、定制的检索器和重排器,以及一个优化的8B参数语言模型,生成基于实际文献的准确回答。OpenScholar在提供事实性回答和准确引用方面超越了现有的专有和开源模型,所有相关代码和数据均已开源,支持并加速科学研究。

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

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


🚀 快速阅读

功能:检索大量科学文献并综合相关信息回答用户查询。
技术:基于专门的检索器和重排器,提高检索效率和准确性。
应用:适用于多个科学领域,包括计算机科学、生物医学、物理学和神经科学等。

正文(附运行示例)

OpenScholar 是什么

公众号: 蚝油菜花 - OpenScholar

OpenScholar是由华盛顿大学和艾伦AI研究所共同推出的检索增强型语言模型(LM),旨在帮助科学家基于检索和综合科学文献中的相关论文回答问题。该系统利用大规模的科学论文数据库,通过定制的检索器和重排器,以及一个优化的8B参数语言模型,生成基于实际文献的、准确的回答。

OpenScholar在提供事实性回答和准确引用方面超越了现有的专有和开源模型。在ScholarQABench上,OpenScholar-8B在正确性方面比GPT-4o高出5%,比PaperQA2高出7%。所有相关代码和数据均已开源,支持和加速科学研究。

OpenScholar 的主要功能

  • 文献检索与合成:检索大量的科学文献,并综合相关信息回答用户查询。
  • 生成基于引用的回答:生成的回答包含准确的引用,提高回答的可靠性和透明度。
  • 跨学科应用:适用于多个科学领域,包括计算机科学、生物医学、物理学和神经科学等。
  • 提高检索效率:基于专门的检索器和重排器,提高检索相关科学文献的效率和准确性。
  • 自我反馈迭代:通过自我反馈机制迭代改进回答,提高回答质量和引用的完整性。

OpenScholar 的技术原理

  • 数据存储(OpenScholar Datastore):包含超过4500万篇科学论文及其对应的2.37亿段落嵌入,为检索提供基础数据。
  • 专门化的检索器和重排器:针对科学文献数据存储训练的检索器和重排器,用于识别和排序相关文献段落。
  • 8B参数语言模型:一个为科学文献合成任务优化的8B参数大型语言模型,平衡性能和计算效率。
  • 自我反馈生成:在推理时,基于自然语言反馈迭代细化模型输出,每次迭代可能涉及额外的文献检索,改善回答质量并填补引用空白。
  • 迭代检索增强:在生成初始回答后,模型生成反馈,指导进一步的检索,以迭代方式改进回答,直到所有反馈都被处理。

如何运行 OpenScholar

安装环境

首先,确保所有必要的库已安装:

conda create -n os_env python=3.10.0
conda activate os_env
pip install -r requirements.txt
python -m spacy download en_core_web_sm

设置API密钥:

export S2_API_KEY=YOUR_S2_API_KEY
export YOUR_API_KEY=YOUR_YOU_COM_API_KEY

运行推理

使用OpenScholar进行推理的示例代码如下:

python run.py \
    --input_file YOUR_INPUT_FILE \
    --model_name OpenScholar/Llama-3.1_OpenScholar-8B \
    --use_contexts \
    --output_file OUTPUT_FILE_PATH \
    --top_n 10 --llama3 --zero_shot

详细配置

  • top_n:输入到基础语言模型的段落数量,默认使用10个段落。
  • feedback:如果希望在生成过程中使用自我反馈循环,设置为true。
  • posthoc_at:如果希望运行事后引用归属,设置为true。
  • zero_shot:如果希望以零样本方式运行推理,设置为true。
  • ranking_ce:使用重排序模型对top_n段落进行重排序;如果未设置为true,则从提供的输入文件中的ctxs中获取top_n段落。
  • reranker:指定重排序模型文件的路径(本地或HF hub)。如果使用OpenScholar重排序器,设置为OpenScholar/OpenScholar_Reranker
  • min_citation:可以设置最小引用数。如果给定一个整数,我们将排除引用数低于min_citation的论文。默认设置为None,所有论文均被考虑,无论其引用数。
  • ss_retriever:在反馈生成循环中使用语义学者API来增强反馈结果。
  • use_abstract:考虑摘要以增强重排序结果。
  • max_per_paper:设置在推理时从同一篇论文中使用的最大段落数。
  • task_name:指定任务名称,当运行单篇论文任务时。对于SciFact、PubmedQA和QASA,相应的任务名称分别是claim_fullboolean_question_fullsingle_qa

资源


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

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

相关文章
|
移动开发 JavaScript 前端开发
分享111个JS文字特效,总有一款适合您
分享111个JS文字特效,总有一款适合您
472 0
|
11月前
|
人工智能 自然语言处理 搜索推荐
Open Notebook:开源 AI 笔记工具,支持多种文件格式,自动转播客和生成总结,集成搜索引擎等功能
Open Notebook 是一款开源的 AI 笔记工具,支持多格式笔记管理,并能自动将笔记转换为博客或播客,适用于学术研究、教育、企业知识管理等多个场景。
780 0
Open Notebook:开源 AI 笔记工具,支持多种文件格式,自动转播客和生成总结,集成搜索引擎等功能
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
《揭开DeepSeek神秘面纱:复杂逻辑推理背后的技术机制》
DeepSeek是一款基于Transformer架构的大语言模型,以其在复杂逻辑推理任务上的卓越表现成为行业焦点。它通过自注意力机制高效捕捉长距离依赖关系,结合强化学习优化推理策略,利用思维链技术拆解复杂问题,并经过多阶段训练与精调提升推理能力。此外,DeepSeek融合知识图谱和外部知识,拓宽推理边界,使其在处理专业领域问题时更加准确和全面。这些先进技术使DeepSeek能够像人类一样思考和推理,为解决复杂问题提供强大支持。
762 11
|
12月前
|
人工智能 C++ iOS开发
ollama + qwen2.5-coder + VS Code + Continue 实现本地AI 辅助写代码
本文介绍在Apple M4 MacOS环境下搭建Ollama和qwen2.5-coder模型的过程。首先通过官网或Brew安装Ollama,然后下载qwen2.5-coder模型,可通过终端命令`ollama run qwen2.5-coder`启动模型进行测试。最后,在VS Code中安装Continue插件,并配置qwen2.5-coder模型用于代码开发辅助。
19558 71
|
11月前
|
人工智能 自然语言处理 开发者
Co-op Translator:微软推出面向开发者的开源多语言翻译工具
微软推出的开源多语言翻译工具Co-op Translator,基于Azure AI服务,能够自动化处理项目文档和图像中的文本翻译,简化技术文档的本地化流程,促进全球开发者协作。
325 25
Co-op Translator:微软推出面向开发者的开源多语言翻译工具
|
Web App开发 数据可视化 搜索推荐
博士科研最好用的科研绘图工具有哪些?
该博客介绍了几种博士科研中最好用的科研绘图工具,包括ChiPlot、Veusz、Echarts、MeedPeer和Python可视化库,并提供了它们的优缺点分析。
683 2
博士科研最好用的科研绘图工具有哪些?
|
8月前
|
关系型数据库 Linux 数据库
PostgreSQL 入门指南:安装、配置与基本命令
本文从零开始,详细介绍如何在 Windows、Linux 和 macOS 上安装和配置 PostgreSQL,涵盖30+个实操代码示例。内容包括安装步骤、配置远程访问和用户权限、基础数据库操作命令(如创建表、插入和查询数据),以及常见问题的解决方案。通过学习,你将掌握 PostgreSQL 的基本使用方法,并为后续深入学习打下坚实基础。
8875 1
|
11月前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
9983 5
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
机器学习/深度学习 自然语言处理 数据挖掘
大模型在科研领域有哪些应用?
【7月更文挑战第26天】大模型在科研领域有哪些应用?
1929 1
|
移动开发 前端开发
react项目配合diff实现文件对比差异功能
在React项目中,可以使用`diff`库实现文件内容对比差异功能。首先安装`diff`库,然后在组件中引入并使用`Diff.diffChars`或`Diff.diffLines`方法比较文本差异。通过循环遍历`diff`结果,可以生成不同样式的HTML元素来高亮显示文本差异。
650 1
react项目配合diff实现文件对比差异功能

热门文章

最新文章