This toolkit automates and enhances the process of blog creation, optimization, and management. Leveraging AI technologies, it assists content creators and digital marketers in generating, formatting, and uploading blog content efficiently. The toolkit integrates advanced AI models for text generation, image creation, and data analysis, streamlining the content creation pipeline.
Step 0οΈβ£: Pre-requisites: Git, Python3
Installing Python on Windows:ππͺ
-
Open PowerShell as admin: Press
Windows Key + X
, then select "Windows PowerShell (Admin)". -
Type
python
. If Python is not installed, Windows will prompt you to 'Get Python'. -
If Python is installed, you should see '>>>>>'.
Installing Git on Windows:πΊ
-
Open PowerShell or Windows Terminal: Press
Windows Key + X
, then select "Windows Terminal". -
Paste or type and press enter:β.β.
winget install --id Git.Git -e --source winget
-
Wait for download bars to finish
Note for Linux Users: If you're on Linux and can't install these, get lost π§βοΈ
Step 1οΈβ£: Clone this repository to your local machine.
To clone the repository to your local machine, perform the following steps:
1. **Open Windows PowerShell as Administrator:** Press `Windows Key + X` and select "Windows PowerShell (Admin)" from the menu.
2. **Navigate to the Desired Directory:** Use the `cd` command to move to the directory where you want to clone the repository.
3. **Clone the Repository:** Run the following command in PowerShell to clone the repository:
`git clone https://github.com/AJaySi/AI-Blog-Writer.git`
This command will download all the files from the repository to your local machine.
4. **Verify the Clone:** After the cloning process is complete, navigate into the newly created directory using:
`cd AI-Blog-Writer`
Once you've cloned the repository, you can proceed with the next steps for installation and setup.
Step 2οΈβ£: Install required dependencies:
- Open command prompt on your local machine: Press
Windows Key + R
, typecmd
, then press Enter. - Navigate to the folder from Step 1
- Run:
python -m pip install -r requirements.txt
Step 3οΈβ£: Run the script:
- Execute:
python alwrity.py
Step 4οΈβ£: The tool will guide you through setting up your APIs.
Step 1οΈβ£: Fork this repository to your own GitHub account.
Step 2οΈβ£: Follow this guide: Running GitHub Repositories on Replit π
Step 1οΈβ£: Error 404: Page not found. π
-
Online Research Integration: Enhances blog content by integrating insights and information gathered from online research, ensuring the content is informative and up-to-date. This gives context for generating content. Tavily AI, Google search, serp and Vision AI is used to scrape web data for context augumentation. TBD: Include CrewAI for web research agents.
-
Image Generation and Processing: Utilizes AI models like DALL-E 3, stable difffusion to create relevant images based on blog content. Offers features to process and optimize images for web usage. FIXME: Need more work with stable diffusion.
-
SEO Optimization: Employs AI to generate SEO-friendly blog titles, meta descriptions, tags, and categories. Ensures content is optimized for search engines.
-
Wordpress, Jekyll Integration: Implemented generating and uploading blog content, media to wordpress via its REST APIs. Most of the static website which can work with markdown style should work with little testing.
- Text Generation: Leverages OpenAI's ChatGPT, Google Gemini Pro for generating text for blogs.
- Customizable AI Parameters: (FIXME) Offers flexibility in adjusting AI parameters like model selection, temperature, and token limits to suit different content needs.
- Analyzing and Extracting Image Details: Uses OpenAI's Vision API, Google Gemini vision to analyze images and extract details such as alt text, descriptions, titles, and captions, enhancing the SEO of image content.
Note: This toolkit is designed for automated blog management and requires appropriate API keys and access credentials for full functionality.
- Keyword Research: Conduct in-depth keyword research by specifying search queries and time ranges.
- Domain-Specific Searches: Include specific URLs to confine searches to certain domains, such as Wikipedia or competitor websites.
- Semantic Analysis: Explore similar topics and technologies by providing a reference URL for semantic analysis.
- Similar Company Discovery: Analyze competitor websites to discover similar companies, startups, and technologies.
- Industry Insights: Gain insights into industry trends, market competitors, and emerging technologies.
- Keyword-Based Blogs: Generate blog content based on specified keywords, leveraging AI to produce engaging and informative articles.
- Audio Blog Generation: Convert audio from YouTube videos into blog posts, facilitating content creation from multimedia sources.
- GitHub Repository Blogs: Transform GitHub repositories or topics into blog posts, showcasing code examples and project insights.
- Scholarly Research Blogs: Generate blog content based on research papers, summarizing key findings and insights.
- Title and Meta Description Generation: Generate catchy titles and meta descriptions for blog posts to improve SEO and user engagement.
- Blog Outline Creation: Generate outlines for blog posts, aiding in structuring content and organizing ideas.
- FAQ Generation: Automatically generate FAQs (Frequently Asked Questions) based on blog content, enhancing user engagement and SEO.
- HTML and Markdown Conversion: Convert blog posts between HTML and Markdown formats for easy integration with various platforms.
- Blog Proofreading: Proofread blog content for grammar, spelling, and readability, ensuring high-quality output.
- Tag and Category Suggestions: Generate tags and categories for blog posts based on content analysis, improving organization and discoverability.
- User-Friendly Interface: Navigate tasks and options easily through an interactive command-line interface.
- Menu-Driven Interaction: Choose between various options, tasks, and tools using intuitive menus and prompts.
- Task Guidance: Receive guidance and instructions for each task, facilitating user interaction and decision-making.
-
Libraries:
- PyInquirer: For creating interactive command-line interfaces.
- Typer: For building CLI applications with ease.
- Tabulate: For formatting data in tabular form.
- Requests: For making HTTP requests to web APIs.
- python-dotenv: For loading environment variables from a .env file.
-
APIs:
- Metaphor API: Provides semantic search capabilities for finding similar topics and technologies.
- Tavily API: Offers AI-powered web search functionality for conducting in-depth keyword research.
- SerperDev API: Enables access to search engine results and competitor analysis data.
- OpenAI API: Powers the Large Language Models (LLMs) for generating blog content and conducting research.
- Gemini API: Another LLM provider for natural language processing tasks.
- Ollama API (Work In Progress): An upcoming LLM provider for additional research and content generation capabilities.
Notes:
1). Focus is on writing/generating highly unique, SEO optimized blog content. 2). Models: Openai, gemini, ollama are interesting. Minstral API is also worth exploring. Cohere API is purpose made. Focus is getting the prompts right. Shit in, shit out, irrespective of dollars and cutting edge models. Pydantically speakng, Due to experimental nature of prompting, its getting expensive soon enough. Gemini is free for now. 3). Missing frontend: A smart backend will enable a good frontend. WIP, backend. So, frontend; coming soon. 4).Getting AI agents to 'brainstrom' blog ideas seems more pressing. CrewAI seems more straightforward than autogen. 5). Too Many APIs floating around: The implementation is using tools that dont depend on API keys and rather scrape them. Duh, scraping wont scale, that is GPT vision based scraping will come in handy.