Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Retrieve, aggregate, filter, evaluate, rewrite and serve RSS feeds using Large Language Models for fun, research and learning purposes

License

NotificationsYou must be signed in to change notification settings

fabriziosalmi/UglyFeed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

UglyFeed UglyFeed

UglyFeed is asimple application designed toretrieve,aggregate,filter,rewrite,evaluate andserve content (RSS feeds) written by a large language model. This repository provides thecode, thedocumentation, aFAQ, atroubleshooting guide, and some optional scripts to evaluate the generated content.

GitHub last commitGitHub Issues or Pull RequestsPylintCodeQLDocker PullsPyPI - DownloadsDocker Image Version

Features

  • 📡 Retrieve RSS feeds
  • 🧮 Aggregate feeds items by similarity
  • ✨ Rewrite content using LLM API
  • 💾 Save rewritten feeds to JSON files
  • 🔁 Convert JSON to valid RSS feed
  • 🌐 Serve XML feed via HTTP server
  • 🌎 Deploy XML feed to GitHub or GitLab
  • 📈 Evaluate generated content
  • 🖥️ Web UI based on Streamlit
  • 📰RSS test feeds available
  • 🤖 Same codebase for all releases
  • 🛑 Simple post-filter moderation
  • ➡️Translate feeds into your own language
  • 📝 Tons ofprompts ready to use

Get it now

Quick start

Prerequisites

  • 🌎 Internet connection
  • 🐳 Docker
  • ✨ LLM API
  • 📲 RSS reader

Supported API and models

  • OpenAI API (gpt-3.5-turbo,gpt-4,gpt-4o)
  • Ollama API (all models likellama3,phi3,qwen2)
  • Groq API (llama3-8b-8192,llama3-70b-8192,gemma-7b-it,mixtral-8x7b-32768)
  • Anthropic API (claude-3-haiku-20240307,claude-3-sonnet-20240229,claude-3-opus-20240229)
  • Google Gemini API (Free tier:gemini-2.0-flash,gemini-2.0-flash-lite,gemini-1.5-flash,gemini-1.5-flash-8b,gemma-3,gemma-3n)

You can use your own models by running a compatible OpenAI LLM server. You must change the OpenAI API url parameter.

Running the Container

To start the UglyFeed app, use the followingdocker run command:

docker run -p 8001:8001 -p 8501:8501 -v /path/to/local/feeds.txt:/app/input/feeds.txt -v /path/to/local/config.yaml:/app/config.yaml fabriziosalmi/uglyfeed:latest

Configure the application

In theConfiguration page (or by manually editing theconfig.yaml file) you will find all configuration options. You must change at least the source feeds you want to aggregate, the LLM API and model to use to rewrite the aggregated feeds. You can then retrieve the finaluglyfeed.xml feed in many ways:

  • local filesystem
  • download from web UI
  • HTTP server url
  • HTTPS GitHub CDN url

You can easily extend it to send it to cms, notification or messaging systems.

Execute the application scripts

Execute all scripts in theRun scripts page easily by clicking on the buttonRunmain.py,llm_processor.py,json2rss.py sequentially.You can check for logs, errors and informational messages.

Serve the final rewritten XML feed via HTTP

Once all scripts completed go to theView and Serve XML page where you can view and download the generated XML feed. If you start the HTTP server you can access to the XML url athttp://container_ip:8001/uglyfeed.xml

Deploy the final rewritten XML feed to GitHub/GitLab

Once all scripts completed go to theDeploy page where you can push the final rewritten XML file to the configured GitHub/GitLab repository, the public XML URL to use by RSS readers is returned for each enabled platform.

Documentation

Please refer to the extendeddocumentation to better understand how to get the best from this application.

Use cases

The project can be easily customized to fit several use cases:

  • Smart Content Curation: Create bespoke newsfeeds tailored to niche interests, blending articles from diverse sources into a captivating, engaging narrative.
  • Dynamic Blog Generation: Automate blog post creation by rewriting and enhancing existing articles, optimizing them for readability and SEO.
  • Interactive Educational Tools: Develop AI-driven study aids that summarize and rephrase academic papers or textbooks, making complex topics more accessible and fun.
  • Personalized Reading Experiences: Craft custom reading lists that adapt to user preferences, offering fresh perspectives on favorite topics.
  • Brand Monitoring: Aggregate and summarize brand mentions across the web, providing concise, actionable insights for marketing teams.
  • Multilingual Content Delivery: Automatically translate and rewrite content from international sources, broadening the scope of accessible information.
  • Enhanced RSS Feeds: Offer enriched RSS feeds that summarize, evaluate, and filter content, providing users with high-quality, relevant updates.
  • Creative Writing Assistance: Assist writers by generating rewritten drafts of their work, helping overcome writer's block and sparking new ideas.
  • Content Repurposing: Transform long-form content into shorter, more digestible formats like infographics, slideshows, and social media snippets.
  • Fake News Detection Datasets: Generate datasets by rewriting news articles for use in training models to recognize and combat fake news.

Contribution

Feel free to open issues or submit pull requests. Any contributions are welcome!

Others projects

If You like my projects, you may also like these ones:

  • caddy-waf Caddy WAF (Regex Rules, IP and DNS filtering, Rate Limiting, GeoIP, Tor, Anomaly Detection)
  • patterns Automated OWASP CRS and Bad Bot Detection for Nginx, Apache, Traefik and HaProxy
  • blacklists Hourly updated domains blacklist 🚫
  • proxmox-vm-autoscale Automatically scale virtual machines resources on Proxmox hosts
  • proxmox-lxc-autoscale Automatically scale LXC containers resources on Proxmox hosts
  • DevGPT Code togheter, right now! GPT powered code assistant to build project in minutes
  • websites-monitor Websites monitoring via GitHub Actions (expiration, security, performances, privacy, SEO)
  • caddy-mib Track and ban client IPs generating repetitive errors on Caddy
  • zonecontrol Cloudflare Zones Settings Automation using GitHub Actions
  • lws linux (containers) web services
  • cf-box cf-box is a set of Python tools to play with API and multiple Cloudflare accounts.
  • limits Automated rate limits implementation for web servers
  • dnscontrol-actions Automate DNS updates and rollbacks across multiple providers using DNSControl and GitHub Actions
  • proxmox-lxc-autoscale-ml Automatically scale the LXC containers resources on Proxmox hosts with AI
  • csv-anonymizer CSV fuzzer/anonymizer
  • iamnotacoder AI code generation and improvement

Disclaimer

It is crucial to acknowledge the potential misuse of AI language models by this tool. The use of adversarial prompts and models can easily lead to the creation of misleading content. This application should not be used with the intent to deceive or mislead others. Be a responsible user and prioritize ethical practices when utilizing language models and AI technologies.

License

This project is licensed under the AGPL3 License.

About

Retrieve, aggregate, filter, evaluate, rewrite and serve RSS feeds using Large Language Models for fun, research and learning purposes

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Languages


[8]ページ先頭

©2009-2025 Movatter.jp