
学者是一种工具,可帮助您根据自己的兴趣找到相关论文来阅读。它允许您使用查询搜索论文。它使用语言模型将论文的信息(标题,摘要等)嵌入矢量空间中。然后,它将论文的嵌入在矢量数据库中(内存或QDRANT)中索引。从本文中,它使用查询来搜索数据库中最相关的论文。
要在本地运行学者,您需要使用诗Python软件包管理器安装虚拟环境以及所有依赖项。
poetry install
要激活虚拟环境,您可以运行以下命令:
poetry shell
要验证虚拟环境已激活,您可以导入包并打印版本:
python -c "import scholarsense; print(scholarsense.__version__)"
安装软件包后,您可能需要创建文件夹的结构。您可以通过运行以下命令来做到这一点:
./bash/create_dirs.sh
它创建以下结构:
.
├── artifacts
│ ├── data
│ │ ├── csv
│ │ ├── json
| └── embeddings
然后,您需要创建一个配置文件。您可以将config.yaml文件用作模板。您可以更改要搜索的关键字。
该工具可以通过两种方式使用:
您可以直接从命令行运行脚本。例如,要从Arxiv刮下纸,您可以运行以下命令:
python scripts/run_scraping.py --config ./config/config.yaml --output_path ./artifacts/data/json --max_results 1000000
您也可以在Bash文件夹中使用BASH脚本。例如,要从Arxiv刮下纸,您可以运行以下命令:
./bash/scrap.sh
简化应用程序是一个Web应用程序,可让您使用查询搜索论文。在UI内部,您可以在文本框中输入查询,然后单击“提交”按钮以获取结果。您还可以按日期订购结果。结果显示为可扩展的论文列表。每篇论文都有一个标题,一个摘要和指向PDF文件的链接。

此存储库建议将三个后端用于简化应用程序: 
这个后端是最简单的。它使用包含论文信息的CSV文件和包含论文嵌入的泡菜文件。 CSV文件包含以下列:
title :论文的标题。abstract :论文的摘要。pdf_url :PDF文件的URL。id :纸的ID。泡菜文件包含一个形状的数组(n,d),其中n是纸张的数量,d是嵌入的尺寸。
要使用此后端,您应该使用三个命令scrape , embed和streamlit 。有关这些命令的更多信息,请参阅CLI工具部分。
此后端使用包含论文信息和索引论文和嵌入在内存数据库中的JSON文件。该索引被保存为.bin文件。要使用此后端,您应该使用三个命令scrape , index和streamlit 。有关这些命令的更多信息,请参阅CLI工具部分。
此后端使用QDRANT数据库中的论文和嵌入式的JSON文件,其中包含论文的信息和索引。要使用此后端,您应该使用三个命令scrape , index和streamlit 。有关这些命令的更多信息,请参阅CLI工具部分。
要运行QDrant服务器,您可以运行以下命令:
docker-compose up -d
使用学者的最简单方法是使用CLI工具。您可以运行以下命令以获取帮助消息:
scholarsense --help
CLI工具具有FOOR命令:
scrape :从Arxiv的刮纸纸embed :使用句子变压器模型嵌入论文或打开AI模型index :使用A矢量数据库嵌入和索引论文(内存或QDRANT)streamlit :运行精简应用并搜索论文要从Arxiv刮下纸,您可以运行以下命令:
scholarsense scrape --help
该命令采用以下参数:
config :YAML配置文件的路径,其中包含要搜索的关键字。output_path :输出文件的路径,其中论文将作为JSON文件保存。max_results :每个关键字要刮擦的最大纸张数,默认值为1000000。 此命令用于使用句子变压器模型或打开AI模型嵌入论文。然后,它将嵌入式保存在泡菜文件中。要嵌入论文,您可以运行以下命令:
scholarsense embed --help
该命令采用以下参数:
input_path :包含论文的JSON文件的路径。output_path :输出文件的路径,其中论文将作为泡菜文件保存。csv_file_path :通往CSV文件的路径,将保存PEPERS的信息。model_type :要使用的模型的类型,无论是sentence-transformers还是openai ,默认值是sentence-transformers 。model_name :使用所选类型的模型名称,默认值为all-MiniLM-L6-v2 。encoding_method :使用{标题,摘要,cont等}的编码方法的类型,默认为title 。 此命令用于使用A Vector数据库(内存或QDRANT)嵌入和索引论文。要嵌入和索引论文,您可以运行以下命令:
scholarsense index --help
该命令采用以下参数:
db_path :包含论文的JSON文件的路径。model_type :要使用的模型的类型,无论是sentence-transformers还是openai ,默认值是sentence-transformers 。model_name :使用所选类型的模型名称,默认值为all-MiniLM-L6-v2 。encoding_method :使用{标题,摘要,cont等}的编码方法的类型,默认为title 。indexing_method :用于索引论文的方法,无论是in-memory或qdrant ,默认值是in-memory 。host :QDRANT服务器的主机,默认值无。port :QDRANT服务器的端口,默认值无。collection_name :用于QDRANT中的集合的名称,默认值无。index_file_path :保存为.bin文件的索引文件的路径用于内存索引,默认值无。 此命令用于运行简化应用程序并搜索论文。要运行简化应用程序,您可以运行以下命令:
scholarsense streamlit --help
该命令采用以下参数:
backend :使用simple , in-memory或qdrant后端。model_type :要使用的模型类型,无论是sentence-transformers还是openai 。model_name :使用所选类型的模型名称。encoding_method :使用{标题,抽象,concat等}的编码方法的类型。limit :要显示的最大论文数量。collection_name :用于QDRANT的集合的名称。csv_file_path :CSV文件中包含论文信息的路径,如果您使用简单的后端,则很有用。embedding_file_path :包含嵌入式的泡菜文件的路径,如果您使用简单的后端,则很有用。index_file_path :保存为.bin文件的索引文件的路径用于内存索引,如果您使用内存中后端,则有用。