This project aims to create a simple blog using Wagtail CMS with integrated vector search capabilities. The blog posts will be automatically embedded in a vector database when created or edited, allowing for efficient semantic search functionality.
- Wagtail CMS: Provides the content management system for creating and managing blog posts.
- Django: The web framework underlying Wagtail.
- PostgreSQL: The primary database for storing blog content and metadata.
- pgvector: PostgreSQL extension for vector similarity search.
- Wagtail Vector Search: A plugin to integrate vector search capabilities with Wagtail.
-
Content Creation/Editing:
- Authors create or edit blog posts using the Wagtail admin interface.
- On save, the blog post content is processed to create vector embeddings.
- The embeddings are stored in the vector database (PostgreSQL with pgvector).
-
Search:
- Users enter search queries on the frontend.
- Queries are converted to vector embeddings.
- The vector database is searched for similar content.
- Results are returned and displayed to the user.
- Automatic embedding generation for blog posts.
- Real-time updating of embeddings when content is edited.
- Semantic search capabilities using vector similarity.
- Standard Wagtail CMS features for content management.
- Backend: Python, Django, Wagtail
- Database: PostgreSQL with pgvector extension
- Search: Wagtail Vector Search plugin
- Frontend: Wagtail templates (HTML, CSS, JavaScript)
- Set up basic Wagtail project
- Integrate PostgreSQL with pgvector
- Install and configure Wagtail Vector Search plugin
- Develop blog models and templates
- Implement vector search functionality
- Testing and optimization
- Deployment
- Set up the development environment
- Create a new Wagtail project
- Configure PostgreSQL with pgvector
- Install and set up the Wagtail Vector Search plugin