Skip to content

Commit e7c8998

Browse files
committed
docs: readme
1 parent a55daac commit e7c8998

File tree

3 files changed

+84
-7
lines changed

3 files changed

+84
-7
lines changed

README.md

Lines changed: 65 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,80 @@
33
[![Documentation](https://img.shields.io/badge/Documentation-Link-blue)](https://nedhmn.github.io/ygo-ruling-ai-chatbot/)
44
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
55

6-
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.
6+
A monorepo for a Yu-Gi-Oh! ruling AI chatbot focused on [Goat Format](https://www.goatformat.com/whatisgoat.html), built with Turborepo. It leverages AI RAG with OpenAI embeddings and Pinecone for specialized context.
77

88
<div align="center" style="margin-bottom: 20px">
99
<img src="./assets/preview.gif" alt="ygo-ruling-ai-chatbot-preview">
1010
</div>
1111

12-
## ✨ Features
12+
## Key Features
1313

14-
- **AI RAG**: Uses Retrieval Augmented Generation with OpenAI embeddings and Pinecone for accurate ruling context.
15-
- **Goat Format Specialized**: Trained and focused on Yu-Gi-Oh! Goat Format rulings.
16-
- **Data Seeding**: Includes a seeder package to populate the vector database.
17-
- **Monorepo Structure**: Managed efficiently with Turborepo.
14+
- **Accurate Ruling Responses:** Provides precise answers for Yu-Gi-Oh! Goat Format rulings using a RAG approach.
15+
- **AI-Powered Chatbot:** Combine AI reasoning and relevant context for comprehensive answers.
16+
- **Dockerized Environment:** Ensures easy, consistent setup.
17+
- **Turborepo Monorepo:** Efficiently manages project packages and applications.
18+
19+
## 🛠️ Technologies Used
20+
21+
- **Next.js:** React framework for the chatbot.
22+
- **Vercel AI SDK:** Integrates with AI models.
23+
- **OpenAI:** Used for embeddings and AI models.
24+
- **Pinecone:** Vector database for ruling embeddings.
25+
- **Tailwind CSS:** Utility-first CSS.
26+
- **shadcn/ui:** Reusable UI components.
27+
- **Turborepo:** Monorepo management.
28+
- **ESLint & Prettier:** Code linting and formatting.
29+
- **Cheerio:** Web scraping library for server-side jQuery.
30+
- **Nextra:** Documentation framework.
31+
- **Docker/docker-compose:** Containerization.
32+
- **TypeScript:** For type safety.
1833

1934
## 🚀 Getting Started
2035

21-
Coming Soon...
36+
This guide will help you get the Yu-Gi-Oh! Ruling AI Chatbot up and running.
37+
38+
### Prerequisites
39+
40+
You will need the following installed:
41+
42+
- **Docker** and **Docker Compose**
43+
44+
Refer to the **[Documentation](https://nedhmn.github.io/ygo-ruling-ai-chatbot/getting-started/installation)** for detailed installation instructions if needed.
45+
46+
### Clone the Repository
47+
48+
```bash
49+
git clone https://github.com/nedhmn/ygo-ruling-ai-chatbot.git
50+
cd ygo-ruling-ai-chatbot
51+
```
52+
53+
### Configure Your Environment
54+
55+
You need to configure environment variables for the `seeder` and `web` services. Example files are provided to help you.
56+
57+
1. **Create `./packages/seeder/.env.local`:** <br><br>
58+
Navigate to the `./packages/seeder` directory. Copy the content from `.env.example` in that directory and create a new file named `.env.local`. Fill in the required environment variables for the seeder service).
59+
60+
2. **Create `./apps/web/.env.local`:**<br><br>
61+
Navigate to the `./apps/web` directory. Copy the content from `.env.example` in that directory and create a new file named `.env.local`. Fill in the required environment variables for the web service.
62+
63+
Refer to the **[Documentation](https://nedhmn.github.io/ygo-ruling-ai-chatbot/getting-started/configuration)** for a full list and description of all configuration options.
64+
65+
### Run the Application
66+
67+
From the project root, run the following command to build and start the Docker containers:
68+
69+
```bash
70+
docker compose up --build
71+
```
72+
73+
This will start the seeder service (which will populate the database) and then the web application.
74+
75+
> [!NOTE]
76+
>
77+
> The `--build` flag is important the first time you run this command, or after making changes to the Dockerfiles.
78+
79+
Once the `web` service is running, the application should be accessible in your web browser at `http://localhost:3000`.
2280

2381
## 📄 License
2482

apps/web/.env.example

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
OPENAI_API_KEY=
2+
OPENAI_MODEL=gpt-4.1-nano
3+
OPENAI_EMBEDDING_MODEL=text-embedding-3-small
4+
OPENAI_EMBEDDING_DIMENSIONS=1536
5+
PINECONE_API_KEY=
6+
PINECONE_INDEX_NAME=ygo-ruling-ai-chatbot
7+
PINECONE_INDEX_DIMENSION=1536
8+
PINECONE_INDEX_METRIC=cosine
9+
PINECONE_INDEX_CLOUD=aws
10+
PINECONE_INDEX_REGION=us-east-1

packages/seeder/.env.example

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
OPENAI_API_KEY=
2+
OPENAI_EMBEDDING_MODEL=text-embedding-3-small
3+
OPENAI_EMBEDDING_DIMENSIONS=1536
4+
PINECONE_API_KEY=
5+
PINECONE_INDEX_NAME=ygo-ruling-ai-chatbot
6+
PINECONE_INDEX_DIMENSION=1536
7+
PINECONE_INDEX_METRIC=cosine
8+
PINECONE_INDEX_CLOUD=aws
9+
PINECONE_INDEX_REGION=us-east-1

0 commit comments

Comments
 (0)