{"id":23543720,"url":"https://github.com/therealfredp3d/george_was_right","last_synced_at":"2025-11-01T08:30:31.418Z","repository":{"id":270377374,"uuid":"907157110","full_name":"TheRealFREDP3D/George_Was_Right","owner":"TheRealFREDP3D","description":"AI agents, powered by CrewAI, to analyze recent world events through the lens of themes from George Orwell's *1984*.","archived":false,"fork":false,"pushed_at":"2025-01-19T19:33:21.000Z","size":39762,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-19T20:31:28.610Z","etag":null,"topics":["1984","agents","ai","cohere","crewai","gemini","groq","litellm","llm","ollama","openai","orwell","project"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheRealFREDP3D.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-23T00:44:02.000Z","updated_at":"2025-01-19T19:33:24.000Z","dependencies_parsed_at":"2024-12-30T18:18:44.837Z","dependency_job_id":"7f6557ac-2c6c-401b-95c4-d5be2fbc36b2","html_url":"https://github.com/TheRealFREDP3D/George_Was_Right","commit_stats":null,"previous_names":["therealfredp3d/george_was_right"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRealFREDP3D%2FGeorge_Was_Right","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRealFREDP3D%2FGeorge_Was_Right/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRealFREDP3D%2FGeorge_Was_Right/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRealFREDP3D%2FGeorge_Was_Right/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheRealFREDP3D","download_url":"https://codeload.github.com/TheRealFREDP3D/George_Was_Right/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239269794,"owners_count":19610866,"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":["1984","agents","ai","cohere","crewai","gemini","groq","litellm","llm","ollama","openai","orwell","project"],"created_at":"2024-12-26T07:11:26.508Z","updated_at":"2025-11-01T08:30:31.324Z","avatar_url":"https://github.com/TheRealFREDP3D.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# George-Was-Right v0.6 - README.md\n\n![Generated with DALL-E and a prompt from the Illustrator Agent](images/Header.png)\n\nGeorge_Was_Right leverages a team of AI agents, powered by CrewAI, to analyze recent world events through the lens of themes from George Orwell's *1984*. It orchestrates four specialized agents—Researcher, Writer, Illustrator, and Editor—to perform tasks such as:\n\n- Searching for relevant news.\n- Comparing news with themes from *1984*.\n- Writing articles.\n- Generating illustration prompts to accompany analyses.\n\nThis project aims to provide a nuanced examination of how contemporary society reflects Orwellian concerns about digital privacy and freedom, fostering meaningful discussion and awareness.\n\n---\n\n![Generated with DALL-E and a prompt from the Illustrator Agent](images/illustration-under-surveillance-camera.jpg)\n\n---\n\n## Features and Roadmap\n\n### Current Features\n\n- **Automated Research and Analysis:** Gathers and analyzes news stories in relation to *1984* themes.\n- **Multi-Agent Collaboration:** Uses specialized AI agents (Researcher, Writer, Prompt Master) to divide and conquer complex tasks.\n- **Visual Prompt Generation:** Produces creative prompts for illustrations to enhance storytelling and audience engagement.\n- **Clear and Structured Output:** Outputs organized markdown reports combining research, analysis, and visuals.\n- **Environment Variable Validation:** Validates required environment variables and provides error handling.\n- **Improved Code Structure:** Enhanced code organization and readability.\n- **LLM Model Support:** Integrates various LLM models for enhanced functionality.\n\n### Upcoming Enhancements\n\n- **Customizable Search Parameters:** Add options for users to specify country and the number of search results for focused research.\n- **GUI Integration:** Develop a user-friendly graphical interface for seamless control of the analysis process.\n- **Refined Output Formats:** Improve markdown and PDF exports for clarity and usability.\n- **Incremental Feature Rollout:** Continuously implement new features while maintaining backward compatibility.\n\n![Generated with DALL-E and a prompt from the Illustrator Agent](images/Header.png)\n\n## Features and Roadmap\n\n### Current Features\n\n- **Automated Research and Analysis:** Gathers and analyzes news stories in relation to *1984* themes.\n- **Multi-Agent Collaboration:** Uses specialized AI agents (Researcher, Writer, Prompt Master) to divide and conquer complex tasks.\n- **Visual Prompt Generation:** Produces creative prompts for illustrations to enhance storytelling and audience engagement.\n- **Clear and Structured Output:** Outputs organized markdown reports combining research, analysis, and visuals.\n- **Environment Variable Validation:** Validates required environment variables and provides error handling.\n- **Improved Code Structure:** Enhanced code organization and readability.\n\n### Upcoming Enhancements\n\n- **Customizable Search Parameters:** Add options for users to specify country and the number of search results for focused research.\n- **GUI Integration:** Develop a user-friendly graphical interface for seamless control of the analysis process.\n- **Refined Output Formats:** Improve markdown and PDF exports for clarity and usability.\n- **Incremental Feature Rollout:** Continuously implement new features while maintaining backward compatibility.\n\n## Showcase\n\n### Showcase-1\n\n- **Main Script:** [main.py](showcase/Showcase-1/main.py)\n- **Generated Images:**\n  - [Prompt1-ChatGPT.jpg](showcase/Showcase-1/Prompt1-ChatGPT.jpg)\n  - [Prompt1.Dall-E-2.jpg](showcase/Showcase-1/Prompt1.Dall-E-2.jpg)\n  - [Prompt1.Dall-E-3.jpg](showcase/Showcase-1/Prompt1.Dall-E-3.jpg)\n  - [Prompt1.Dall-E-4.jpg](showcase/Showcase-1/Prompt1.Dall-E-4.jpg)\n  - [Prompt1.Dall-E.jpg](showcase/Showcase-1/Prompt1.Dall-E.jpg)\n  **Terminal Log:** [terminal_log.md](showcase/Showcase-1/terminal_log.md)\n\n### Showcase-2\n\n- **Generated Images:**\n  - [Prompt1-ChatGPT.jpg](showcase/Showcase-2/Prompt1-ChatGPT.jpg)\n  - [Prompt2-Dalle-E-2.jfif](showcase/Showcase-2/Prompt2-Dalle-E-2.jfif)\n  - [Prompt2-Dalle-E-3.jfif](showcase/Showcase-2/Prompt2-Dalle-E-3.jfif)\n  - [Prompt2-Dalle-E-4.jfif](showcase/Showcase-2/Prompt2-Dalle-E-4.jfif)\n  - [Prompt2-Dalle-E.jfif](showcase/Showcase-2/Prompt2-Dalle-E.jfif)\n- **Terminal Output:** [terminal-output--26-12-2024.md](showcase/Showcase-2/terminal_log2.md)\n\n---\n\n![Generated with DALL-E and a prompt from the Illustrator Agent](images/the-eye-telescreen.jpg)\n\n---\n\n## Project History\n\nGeorge-Was-Right is a project I’ve been working on to learn Python. I needed  way to get hands-on with programming and not just read about it.\n\nLike a lot of people during the pandemic, I was stuck at home with too much time on my hands. That’s when I decided to finally dive back into coding. I had just finished reading '1984' and taught, “Why not make something in George Orwell’s world?” My first idea was to make a small game. I wasn't really serious about this project until I discovered LLMs, Ollama and CrewAI. My project idea took a hard left turn. It was definitely a stretch for my skills at the time, but I love a good challenge. It forced me to read, learn, and experiment. Plus, who doesn’t like an excuse to Google stuff?\n\nWhat started as a “just for fun” hobby has turned into something more. I’m working on it in my spare time because, as much as I find it’s fun and satisfying, it doesn't pay the bills.\n\n---\n\nThis consist of the second iteration of George-was-Right. The original version became unmanageable due to accumulating changes and a lack of version control. Starting fresh enabled a focus on better coding practices, structured development, and Git-based version control.\n\nI hope you find this project interesting.\n\n---\n\n### Lessons Learned the Hard Way\n\n- Importance of planning and incremental development.\n- Effective use of Git for managing changes.\n- Best practices for Python project structuring and imports.\n- Benefits of regular backups and separating development from production environments.\n- Keeping notes and documentation updated.\n\n---\n\n![Generated with DALL-E and a prompt from the Illustrator Agent](images/ministry-of-truth-soviet-touch.jpg)\n\n---\n\n## Getting Started\n\nFollow these steps to set up the project:\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/TheRealFREDP3D/George_Was_Right.git\n   ```\n\n2. Navigate to the project directory:\n\n   ```bash\n   cd George_Was_Right\n   ```\n\n3. Create a virtual environment:\n\n   ```bash\n   python -m venv venv\n   ```\n\n4. Activate the virtual environment:\n   - On Windows:\n\n     ```bash\n     venv\\Scripts\\activate\n     ```\n\n   - On macOS/Linux:\n\n     ```bash\n     source venv/bin/activate\n     ```\n\n5. Install dependencies:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n6. Get an API key for free from Github and add it to your .env file.  \n   - Go to the Marketplace and search for \"Github API\" and click on the \"Get it free\" button.\n   - Add the API key to your .env file.\n\n```bash\nGITHUB_API_KEY=your_github_api_key\n```\n\n7. Get an API key for free from SerperDev and add it to your .env file.\n\n```sh\nSERPER_API_KEY=your_serper_api_key\n```\n\n8. Run the project:\n\n   ```bash\n   python main.py\n   ```\n\nThe project will run and create logs in the /log folder.\n\n---\n\n**Requirements:**\n\n- Python 3.8 or later\n- Internet connection for AI-powered agents or use Ollama for local usage.\n- Github API key\n- SerperDev API key\n\n## Notes\n\nIt's possible to use other LLM models, but you will need to change the model in the .env file and tweak the code in the src/llm.py file. By default I used gpt-4o because it produces the best results without having to pay for it. I have made a lot of tests with other models and I can say that the results are not always good.\n\nPlease, be aware that the LLM models have different capabilities and limitations.\n\nFeel free to use the code as you see fit. I'm not a professional programmer, so I'm sure there are many improvements that can be made...  \n\nIf you have any questions or suggestions, please feel free to contact me or open an issue.\nAnd I'm curious and really interested to know what you think about this project and if you have any ideas for improvements.\n\nI would appreciate learning about which models you've tried and what works best for you to add a listing to the documentation.\n\n---\n\n## Contributing\n\nContributions are welcome! To contribute:\n\n1. Fork the repository.\n2. Create a feature branch:\n\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n\n3. Commit your changes:\n\n   ```bash\n   git commit -m \"Add your message here\"\n   ```\n\n4. Push the branch to your fork:\n\n   ```bash\n   git push origin feature/your-feature-name\n   ```\n\n5. Submit a pull request.\n\nPlease ensure changes are well-tested and documented. Refer to the [Contribution Guide](CONTRIBUTING.md) for more details.\n\n---\n\n## Contact\n\n| **Contact**        | **Links**                                                             |\n|--------------------|-----------------------------------------------------------------------|\n| Twitter            | [@TheRealFredP3D](https://twitter.com/TheRealFredP3D)                 |\n| GitHub             | [@TheRealFREDP3D](https://github.com/TheRealFREDP3D)                  |\n| Email              | [fredp3d@proton.me](mailto:fredp3d@proton.me)                         |\n| Link Gallery       | [LinkGallery](http://link.gallery/therealfredp3d)                     |\n\n---\n\n**License:** MIT License. See the [LICENSE](LICENSE) file for details.\n\n---\n\n![Generated with DALL-E and a prompt from the Illustrator Agent](images/big-brother-is-watching.jpg)\n\n**Modified:** January 5, 2025\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherealfredp3d%2Fgeorge_was_right","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftherealfredp3d%2Fgeorge_was_right","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherealfredp3d%2Fgeorge_was_right/lists"}