pennyworth

所属分类:GPT/ChatGPT
开发工具:Ruby
文件大小:0KB
下载次数:0
上传日期:2024-01-14 08:04:51
上 传 者sh-1993
说明:  GPT-4和Web Scraping支持的每日新闻稿
(A Daily Newsletter powered by GPT-4 and Web Scraping)

文件列表:
.idea/
app/
bin/
config/
db/
lib/
log/
public/
storage/
test/
tmp/
vendor/
.dockerignore
.ruby-version
Dockerfile
Gemfile
Gemfile.lock
Rakefile
config.ru

# Pennyworth News This application allows you to run daily (or more) news updates and mail them to subscribers, always ending with a news-related haiku. It does this by scraping news sites for top news, and utilizing OpenAI's LLMs to generate summaries of the news, and Whisper to generate audio. ### Examples: ![](https://github.com/zoemrob/pennyworth/blob/master/app/assets/images/pennyworth-email.png) ###[Sample Audio](https://github.com/zoemrob/pennyworth/blob/master/https://d1cfb5kd9hw0fe.cloudfront.net/news-2024-01-10.mp3) --- In addition to mailed news summaries, the web server provides an archive of all previous news summaries, as well as TTS generated audio to accompany the summary. --- ## Dependencies: * Ruby version `>= 3.0.0` * SQLite3 installed * OpenAI subscription * AWS Account * SMTP Server (Currently using Gmail) ## Required ENV variables * `AWS_REGION` * `AWS_ACCESS_KEY_ID` * `AWS_SECRET_ACCESS_KEY` * `AUDIO_S3_BUCKET` * `AUDIO_CLOUDFRONT_DISTRO` * `GMAIL_USERNAME` (Account to send email from) * `GMAIL_APP_PASSWORD` (Search Google App Passwords) Note: These vars can be included however you see fit, however they are by default initialized by `Rails.credentials` in `config/application.rb`. See the [Rails Guide](https://github.com/zoemrob/pennyworth/blob/master/https://edgeguides.rubyonrails.org/security.html#custom-credentials) for more info. ## Current Functionality * Run `app/jobs/news_job.rb` `NewsJob.perform_now` from the Rails console to generate the daily news summary and mail to active subscribers. * Start Rails server to view generated News Archives to access daily summaries and audio files for daily news. ## Roadmap * Add additional source material (web scrapers), shuffling selected sources for the day, or letting LLM choose which to use, limiting to 3. * Design and implement pleasant UI and marketing emails. * Implement User sign up * Implement cron job to generate news daily * Build up test suite. * Deploy on AWS Elastic Beanstalk.

近期下载者

相关文件


收藏者