{"id":16548663,"url":"https://github.com/george-gca/ai_papers_searcher","last_synced_at":"2025-08-20T23:05:33.339Z","repository":{"id":150309489,"uuid":"555414219","full_name":"george-gca/ai_papers_searcher","owner":"george-gca","description":"Web app to search papers by keywords or similar papers","archived":false,"fork":false,"pushed_at":"2025-06-04T18:33:58.000Z","size":1799,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-04T23:26:01.868Z","etag":null,"topics":["artificial-intelligence","flask","flask-application","papers","python","search","webapp"],"latest_commit_sha":null,"homepage":"https://georgegca.pythonanywhere.com/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/george-gca.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-10-21T14:29:21.000Z","updated_at":"2025-06-04T18:34:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"f5ee12d4-820e-469d-ade5-f2ab4b817080","html_url":"https://github.com/george-gca/ai_papers_searcher","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/george-gca/ai_papers_searcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/george-gca%2Fai_papers_searcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/george-gca%2Fai_papers_searcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/george-gca%2Fai_papers_searcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/george-gca%2Fai_papers_searcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/george-gca","download_url":"https://codeload.github.com/george-gca/ai_papers_searcher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/george-gca%2Fai_papers_searcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271400259,"owners_count":24752830,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","flask","flask-application","papers","python","search","webapp"],"created_at":"2024-10-11T19:26:38.937Z","updated_at":"2025-08-20T23:05:33.321Z","avatar_url":"https://github.com/george-gca.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Papers Searcher\n\nWeb app to search papers by keywords or similar papers. Based on [CVPR_paper_search_tool by Jin Yamanaka](https://github.com/jiny2001/CVPR_paper_search_tool). I decided to split the code into multiple projects:\n\n- [AI Papers Scrapper](https://github.com/george-gca/ai_papers_scrapper) - Download papers pdfs and other information from main AI conferences\n- [AI Papers Cleaner](https://github.com/george-gca/ai_papers_cleaner) - Extract text from papers PDFs and abstracts, and remove uninformative words\n- [AI Papers Search Tool](https://github.com/george-gca/ai_papers_search_tool) - Automatic paper clustering\n- this project - Web app to search papers by keywords or similar papers\n- [AI Conferences Info](https://github.com/george-gca/ai_conferences_info) - Contains the titles, abstracts, urls, and authors names extracted from the papers\n\nI also added support for more conferences in a single web app, customized it a little further, and hosted it on [PythonAnywhere](https://www.pythonanywhere.com/). You can see a running example [here](https://georgegca.pythonanywhere.com/).\n\n---\n\n## [Google Lighthouse PageSpeed Insights](https://pagespeed.web.dev/analysis/https-georgegca-pythonanywhere-com/iu5e0f9uos?form_factor=desktop)\n\n| [Desktop](https://htmlpreview.github.io/?https://github.com/george-gca/ai_papers_searcher/blob/main/lighthouse_results/desktop/georgegca_pythonanywhere_com__keywords_vqa.html) | [Mobile](https://htmlpreview.github.io/?https://github.com/george-gca/ai_papers_searcher/blob/main/lighthouse_results/mobile/georgegca_pythonanywhere_com__keywords_vqa.html) |\n| --- | --- |\n| ![Performance Insights](lighthouse_results/desktop/lighthouse_performance.svg) | ![Performance Insights](lighthouse_results/mobile/lighthouse_performance.svg) |\n| ![Accessibility Insights](lighthouse_results/desktop/lighthouse_accessibility.svg) | ![Accessibility Insights](lighthouse_results/mobile/lighthouse_accessibility.svg) |\n| ![Best Practices Insights](lighthouse_results/desktop/lighthouse_best-practices.svg) | ![Best Practices Insights](lighthouse_results/mobile/lighthouse_best-practices.svg) |\n| ![SEO Insights](lighthouse_results/desktop/lighthouse_seo.svg) | ![SEO Insights](lighthouse_results/mobile/lighthouse_seo.svg) |\n\n## Requirements\n\n[Docker](https://www.docker.com/) or, for local installation:\n\n- Python 3.11+\n- [Poetry](https://python-poetry.org/docs/)\n\n## Usage\n\nBefore running the app, you might need to import the relevant data from the [AI Papers Search Tool](https://github.com/george-gca/ai_papers_search_tool) directory. To do so, run:\n\n```bash\nbash copy_model_data.sh\n```\n\nTo make it easier to run the code, with or without Docker, I created a few helpers. Both ways use `start_here.sh` as an entry point. Since there are a few quirks when calling the specific code, I created this file with all the necessary commands to run the code. All you need to do is to uncomment the relevant lines and run the script:\n\n```bash\n# create_abstracts_dict=1\n```\n\nUncommenting this line will call `abstracts_to_dict.py`. This script will convert all papers abstracts to a list of numbers. This is done to try to save as much storage space as possible, since the abstracts will be replaced by the index of the words in a list of words. When displaying this information in the app, the words will be properly replaced. Then, it will call the flask app.\n\n### Running without Docker\n\nYou first need to install [Python Poetry](https://python-poetry.org/docs/). Then, you can install the dependencies and run the code:\n\n```bash\npoetry install\nbash start_here.sh\n```\n\n### Running with Docker\n\nTo help with the Docker setup, I created a `Dockerfile` and a `Makefile`. The `Dockerfile` contains all the instructions to create the Docker image. The `Makefile` contains the commands to build the image, run the container, and run the code inside the container. To build the image, simply run:\n\n```bash\nmake\n```\n\nTo call `start_here.sh` inside the container, run:\n\n```bash\nmake run\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorge-gca%2Fai_papers_searcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeorge-gca%2Fai_papers_searcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorge-gca%2Fai_papers_searcher/lists"}