Giter Site home page Giter Site logo

arxivdigest's Introduction

ArXiv Digest and Personalized Recommendations using Large Language Models.

This repo aims to provide a better daily digest for newly published arXiv papers based on your own research interests and natural-language descriptions, using relevancy ratings from GPT.

You can try it out on Hugging Face using your own OpenAI API key.

You can also create a daily subscription pipeline to email you the results.

๐Ÿ“š Contents

๐Ÿ” What this repo does

Staying up to date on arXiv papers can take a considerable amount of time, with on the order of hundreds of new papers each day to filter through. There is an official daily digest service, however large categories like cs.AI still have 50-100 papers a day. Determining if these papers are relevant and important to you means reading through the title and abstract, which is time-consuming.

This repository offers a method to curate a daily digest, sorted by relevance, using large language models. These models are conditioned based on your personal research interests, which are described in natural language.

  • You modify the configuration file config.yaml with an arXiv Subject, some set of Categories, and a natural language statement about the type of papers you are interested in.
  • The code pulls all the abstracts for papers in those categories and ranks how relevant they are to your interest on a scale of 1-10 using gpt-3.5-turbo-16k.
  • The code then emits an HTML digest listing all the relevant papers, and optionally emails it to you using SendGrid. You will need to have a SendGrid account with an API key for this functionality to work.

Testing it out with Hugging Face:

We provide a demo at https://huggingface.co/spaces/AutoLLM/ArxivDigest. Simply enter your OpenAI API key and then fill in the configuration on the right. Note that we do not store your key.

hfexample

You can also send yourself an email of the digest by creating a SendGrid account and API key.

Some examples of results:

Digest Configuration:

  • Subject/Topic: Computer Science
  • Categories: Artificial Intelligence, Computation and Language
  • Interest:
    • Large language model pretraining and finetunings
    • Multimodal machine learning
    • Do not care about specific application, for example, information extraction, summarization, etc.
    • Not interested in paper focus on specific languages, e.g., Arabic, Chinese, etc.

Result:

Digest Configuration:

  • Subject/Topic: Quantitative Finance
  • Interest: "making lots of money"

Result:

๐Ÿ’ก Usage

Running as a github action using SendGrid (Recommended).

The recommended way to get started using this repository is to:

  1. Fork the repository
  2. Modify config.yaml and merge the changes into your main branch.
  3. Set the following secrets (under settings, Secrets and variables, repository secrets). See Advanced Usage for more details on how to create and get OpenAi and SendGrid API keys:
    • OPENAI_API_KEY From OpenAI
    • SENDGRID_API_KEY From SendGrid
    • FROM_EMAIL This value must match the email you used to create the SendGrid API Key.
    • TO_EMAIL
  4. Manually trigger the action or wait until the scheduled action takes place.

See Advanced Usage for more details, including step-by-step images, further customization, and alternate usage.

Running with a user interface

To locally run the same UI as the Huggign Face space:

  1. Install the requirements in src/requirements.txt as well as gradio.
  2. Run python src/app.py and go to the local URL. From there you will be able to preview the papers from today, as well as the generated digests.
  3. If you want to use a .env file for your secrets, you can copy .env.template to .env and then set the environment variables in .env.
  • Note: These file may be hidden by default in some operating systems due to the dot prefix.
  • The .env file is one of the files in .gitignore, so git does not track it and it will not be uploaded to the repository.
  • Do not edit the original .env.template with your keys or your email address, since .template.env is tracked by git and editing it might cause you to commit your secrets.

WARNING: Do not edit and commit your .env.template with your personal keys or email address! Doing so may expose these to the world!

โœ… Roadmap

  • Support personalized paper recommendation using LLM.
  • Send emails for daily digest.
  • Implement a ranking factor to prioritize content from specific authors.
  • Support open-source models, e.g., LLaMA, Vicuna, MPT etc.
  • Fine-tune an open-source model to better support paper ranking and stay updated with the latest research concepts..

๐Ÿ’ Extending and Contributing

You may (and are encourage to) modify the code in this repository to suit your personal needs. If you think your modifications would be in any way useful to others, please submit a pull request.

These types of modifications include things like changes to the prompt, different language models, or additional ways for the digest is delivered to you.

arxivdigest's People

Contributors

b-deforce avatar hunterhector avatar ido777 avatar rivercold avatar rmfan avatar willieneis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arxivdigest's Issues

Can we support other LLM mode?

I recently published a package llm-client that can be very helpful in enabling the support to run other LLM models, including OpenAI, Google, AI21, HuggingfaceHub, Aleph Alpha, Anthropic, Local models with transformers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.