{"id":13584851,"url":"https://github.com/zmactep/gpt-digest","last_synced_at":"2025-03-26T08:31:20.862Z","repository":{"id":155450462,"uuid":"631678699","full_name":"zmactep/gpt-digest","owner":"zmactep","description":"A neural network generated daily digest based on RSS feeds","archived":false,"fork":false,"pushed_at":"2023-04-25T20:38:45.000Z","size":20,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T12:22:12.616Z","etag":null,"topics":["digest","docker","docker-compose","gpt","news","rss","telegram"],"latest_commit_sha":null,"homepage":"","language":"Python","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/zmactep.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}},"created_at":"2023-04-23T19:18:02.000Z","updated_at":"2024-03-07T21:56:37.000Z","dependencies_parsed_at":"2023-04-27T07:32:03.720Z","dependency_job_id":null,"html_url":"https://github.com/zmactep/gpt-digest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmactep%2Fgpt-digest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmactep%2Fgpt-digest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmactep%2Fgpt-digest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmactep%2Fgpt-digest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zmactep","download_url":"https://codeload.github.com/zmactep/gpt-digest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245618763,"owners_count":20645064,"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","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":["digest","docker","docker-compose","gpt","news","rss","telegram"],"created_at":"2024-08-01T15:04:33.883Z","updated_at":"2025-03-26T08:31:20.542Z","avatar_url":"https://github.com/zmactep.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# GPT Digest\n\n[Try it! (en)](https://t.me/gptbionews) [Try it! (ru)](https://t.me/gptbionewsrus)\n\n\u003e This project was created to read daily digests based on **biotech news**. You may need to edit prompts for your purpose.\n\nThis repository includes a project designed to download RSS feeds, filter them with regular expressions, and generate daily digests using OpenAI GPT models (GPT-3.5 and GPT-4 are used for different stages of the pipeline). Here's a quick overview:\n\n1. Download RSS feeds: The project reads data from various RSS feeds.\n2. Filter using regex: Filters the content of the feeds based on pre-defined regular expressions.\n3. Detect topics: Utilizes OpenAI's GPT to analyze and categorize text into topics.\n4. Generate daily digest: Rounds up the categorized content and generates a daily digest using OpenAI GPT models.\n5. Translates digest to Russian language.\n6. Publishes digests for web access.\n7. Publishes highlights and link to the digest to Telegram channel.\n\nEnjoy exploring the code and feel free to contribute!\n\n*The text above is generated by GPT-4*\n\n## Prerequires\n\n- conda\n- docker (with compose plugin)\n- Telegram bot\n- 2 or 3 Telegram channels\n- public domain\n\n## Installation\n\nCreate one or more CSV source files with RSS feeds using this format:\n```csv\nMy Feed; https://example.com/rss\n```\n\nCreate one or more TXT keywords files with regexps you want to use to filter:\n```\nPD-?1\n```\n\nCreate a conda environment:\n```bash\ncconda env create -f environment.yml\n```\n\nSet these environment variables:\n```bash\nexport DIGEST_PATH=\"...\" # Path to the current repository local installation\nexport CONDA_PATH=\"...\" # Path of conda installation\n\nexport OPENAI_API_KEY=\"sk-...\" # OpenAI API Key, should support GPT-4\nexport TELEGRAM_DIGEST_KEY=\"...\" # Telegram Bot API, obtained from @BotFather\n\nexport TELEGRAM_DIGEST_EN_CHANNEL=\"...\" # English channel chat_id\nexport TELEGRAM_DIGEST_RU_CHANNEL=\"...\" # Russian channel chat_id\nexport TELEGRAM_DIGEST_TEST_CHANNEL=\"...\" # Test channel chat_id\n\nexport DIGEST_DOMAIN=\"example.com\" # FQDN of the domain for web access\n```\n\nCreate digest docker image:\n```bash\ndocker build . -t digest\n```\n\nCopy `cron_task.sh` to cron directory with the period that you wish, e.g.:\n```bash\ncp cron_task.sh /etc/cron.daily/\n```\n\nRun a compose with \n\n## Test usage\n\nYou can use a test mode to send all output to a test channel:\n```bash\nTEST_RUN=1 ./cron_task.sh\n```\n\nYou are also able to use different components of the package:\n```bash\n% python -m digest.generate --help\nusage: digest.generate [-h] [--output OUTPUT] [--summaries] [--highlights]\n                       [--fix-links]\n\noptions:\n  -h, --help       show this help message and exit\n  --output OUTPUT  custom path to write digest\n  --summaries      add topics summaries\n  --highlights     add daily highlights\n  --fix-links      fix meshed up links\n\n% python -m digest.translate --help\nusage: digest.translate [-h] [--input INPUT] [--output OUTPUT]\n\noptions:\n  -h, --help       show this help message and exit\n  --input INPUT    custom path of digest to translate\n  --output OUTPUT  custom path to write translated digest\n\n% python -m digest.telegram --help \nusage: digest.telegram [-h] --input INPUT_PATH [--english] [--russian]\n                       [--only-highlights]\n\noptions:\n  -h, --help          show this help message and exit\n  --input INPUT_PATH  input path of digest\n  --english           work with english channel\n  --russian           work with russian channel\n  --only-highlights   send ony highlights and a URL\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmactep%2Fgpt-digest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzmactep%2Fgpt-digest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmactep%2Fgpt-digest/lists"}