A monorepo for a Yu-Gi-Oh! ruling AI chatbot focused on Goat Format, built with Turborepo. It leverages AI RAG with OpenAI embeddings and Pinecone for specialized context.
- Accurate Ruling Responses: Provides precise answers for Yu-Gi-Oh! Goat Format rulings using a RAG approach.
- AI-Powered Chatbot: Combine AI reasoning and relevant context for comprehensive answers.
- Dockerized Environment: Ensures easy, consistent setup.
- Turborepo Monorepo: Efficiently manages project packages and applications.
- Next.js: React framework for the chatbot.
- Vercel AI SDK: Integrates with AI models.
- OpenAI: Used for embeddings and AI models.
- Pinecone: Vector database for ruling embeddings.
- Tailwind CSS: Utility-first CSS.
- shadcn/ui: Reusable UI components.
- Turborepo: Monorepo management.
- ESLint & Prettier: Code linting and formatting.
- Cheerio: Web scraping library for server-side jQuery.
- Nextra: Documentation framework.
- Docker/docker-compose: Containerization.
- TypeScript: For type safety.
This guide will help you get the Yu-Gi-Oh! Ruling AI Chatbot up and running.
You will need the following installed:
- Docker and Docker Compose
Refer to the Documentation for detailed installation instructions if needed.
git clone https://github.com/nedhmn/ygo-ruling-ai-chatbot.git
cd ygo-ruling-ai-chatbotYou need to configure environment variables for the seeder and web services. Example files are provided to help you.
-
Create
./packages/seeder/.env.local:
Navigate to the./packages/seederdirectory. Copy the content from.env.examplein that directory and create a new file named.env.local. Fill in the required environment variables for the seeder service). -
Create
./apps/web/.env.local:
Navigate to the./apps/webdirectory. Copy the content from.env.examplein that directory and create a new file named.env.local. Fill in the required environment variables for the web service.
Refer to the Documentation for a full list and description of all configuration options.
From the project root, run the following command to build and start the Docker containers:
docker compose up --buildThis will start the seeder service (which will populate the database) and then the web application.
Note
The --build flag is important the first time you run this command, or after making changes to the Dockerfiles.
Once the web service is running, the application should be accessible in your web browser at http://localhost:3000.
This project is licensed under the MIT License - see the LICENSE file for details.
