🔥FLASH SALE: 30% OFF everything!
LogoTemplateFame
icon of BookRecs

BookRecs

BookRecs is a semantic search demo that recommends books based on user-provided genres and titles, leveraging a Weaviate vector database.

Introduction

Book Recommendation System (BookRecs)

BookRecs is a semantic search demonstration project designed to provide book recommendations based on user-inputted genres and book titles. It leverages a database of 7000 books sourced from Kaggle, transformed into vector embeddings using large language models like Ada v2 (OpenAI) or Ollama.

Key Features
  • Intelligent Recommendations: Get personalized book suggestions by simply inputting genres and existing book titles.
  • Vector Search: Utilizes a Weaviate vector database for efficient and semantically rich search capabilities, allowing natural language queries.
  • Flexible LLM Integration: Supports both OpenAI's Ada v2 for cloud-based embedding generation and Ollama for local, self-hosted LLM operations.
  • Data Pipeline: Includes a Jupyter Notebook workflow to guide users through connecting with Weaviate, generating embeddings, and storing them.
  • Responsive Web Application: The frontend is built with Next.js and styled using TailwindCSS, ensuring a seamless user experience across devices.
  • Optional Cohere Integration: Enhance recommendations with explanations by integrating Cohere's generative search module.
Use Cases
  • Personalized Reading Lists: Users can discover new books tailored to their specific interests and past reads.
  • Demonstration of Semantic Search: Serves as an excellent example for developers and data scientists interested in implementing vector search with Weaviate and LLMs.
  • Educational Tool: Provides a practical, hands-on project to understand data pipelines for vector databases, embedding generation, and modern web development.
Technical Details

The project's backend data pipeline is primarily written in Python, handling the ingestion and vectorization of the Kaggle dataset. The frontend is a Next.js application, providing a user-friendly interface for interacting with the recommendation engine. Users can choose to set up their own Weaviate cluster and generate embeddings or utilize a public, read-only Weaviate cluster provided for convenience. Configuration for OpenAI or Ollama API keys is required for embedding generation and inference, with considerations for associated costs.

Installation & Usage

To run BookRecs locally, clone the repository, set up your chosen data pipeline (Ollama or OpenAI with Weaviate), install Node.js dependencies, and start the Next.js application. Detailed instructions are provided within the repository's README.md for a smooth setup process.

Information

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates