Inspiration
The spark for this project came from witnessing the transformative power of advanced language models and automation in the realm of content creation. We were inspired to simplify and enhance the process of blog creation, envisioning a tool that combines the prowess of Gemini Pro with user-friendly interactions through a Telegram bot. Our goal is to make engaging and personalized blog content accessible to a wide range of users, from seasoned writers to beginners, by leveraging the capabilities of cutting-edge technology.
What it does
Our automated blog creation system integrates a Telegram bot for user interaction, CrewAI for agent orchestration, Gemini Pro for content generation, and Notion for draft storage. The Content Generator agents, including Senior Researcher, Insight Researcher, Tech Content Strategist, and Markdown Formatter, work collaboratively to create engaging blog content. The Notion Publisher agent ensures seamless storage of generated drafts, while the Notifier Agent notifies users when the blog is ready for review. Users can conveniently approve or request changes through the Telegram bot interface.
How I built it
We built this system by combining the capabilities of various technologies and libraries. CrewAI and LangChain community tools were employed for agent orchestration, Gemini Pro for language model-driven content generation, and the Notion SDK for draft storage. The Telegram bot was implemented using the python-telegram-bot library. PostgreSQL was chosen for data storage, and Streamlit was considered for potential future integrations.
Challenges I ran into
Throughout the development process, we encountered challenges in coordinating the agents, finding the language model for diverse content, and ensuring smooth integration with external services like Notion. Handling user interactions securely and implementing an optional automated publishing step presented additional complexities.
Accomplishments that I'm proud of
We successfully implemented a cohesive system that seamlessly integrates user interaction, content generation, draft storage, and user notification. Overcoming challenges in agent coordination and achieving a balance between automation and user control were significant accomplishments. The optional automated publishing feature adds an extra layer of convenience for users.
What I learned
This project provided valuable insights into orchestrating multi-agent systems, optimizing language model usage, and integrating external APIs. We gained experience in balancing user automation with manual control, enhancing user experience through Telegram bot interactions, and managing the intricacies of drafting and publishing blog content.
What's next for Untitled
Moving forward, we plan to refine and optimize the system based on user feedback. Potential enhancements include improving language model diversity, adding more customization options for users, and exploring integrations with other blogging platforms. Additionally, we aim to implement advanced security measures and further automate the publishing process for a seamless user experience.
Built With
- crewai
- gemini-pro
- langchain
- notion
- python
- streamlit
- telegram-bot
- typescript