❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
功能:检索大量科学文献并综合相关信息回答用户查询。
技术:基于专门的检索器和重排器,提高检索效率和准确性。
应用:适用于多个科学领域,包括计算机科学、生物医学、物理学和神经科学等。
正文(附运行示例)
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_full
、boolean_question_full
和single_qa
。
资源
- 项目官网:https://allenai.org/blog/openscholar
- GitHub 仓库:https://github.com/AkariAsai/OpenScholar
- HuggingFace 模型库:https://huggingface.co/collections/OpenScholar/openscholar-v1-67376a89f6a80f448da411a6
- arXiv 技术论文:https://arxiv.org/pdf/2411.14199
- Google Drive:https://drive.google.com/drive/folders/1lOloYPOveKesD-37lD4Dlju96tc0XIm9?usp=sharing
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦