AI-Research-TS GitHub Organization Official Documentation
Welcome to the official profile and documentation of the AI-Research-TS GitHub organization. This system is designed to streamline academic article search, literature review, automated Machine Learning classification based on the Kurikulum Merdeka framework, as well as AI-powered text summarization and PDF data extraction.
The system is built using a Decoupled 3-Tier Microservices Architecture:
graph TD
A[Frontend App - Next.js 16] -->|HTTP REST| B[Core Backend - Express.js]
B -->|HTTP REST| C[AI Service - FastAPI / Hugging Face]
C -->|Search API| D[SerpAPI - Google Scholar]
C -->|ML Classification| E[LaBSE & Ensemble Models]
C -->|Auto Summarization| F[Groq Cloud LLM - GPT-OSS 20B]
B -->|Database| G[Supabase PostgreSQL]
| Service | Tech Stack | Repository | Description |
|---|---|---|---|
| Frontend | Next.js 16, React 19, Tailwind CSS, Framer Motion | Frontend Repository | User interface featuring a visual research canvas, search history, and personal article library. |
| Core Backend | Node.js, Express.js, JWT, Sequelize / PostgreSQL | Backend Repository | REST API handling user management, authentication, article bookmarks, and AI gateway forwarding. |
| AI Service | Python, FastAPI, PyTorch, LaBSE, Scikit-Learn, PyMuPDF, Groq GPT-OSS 20B | Ai-Services Repository | Microservice for Kurikulum Merdeka topic classification, PDF text extraction, and LLM summarization. |
Before running the application, ensure your environment has the following installed:
- Node.js v18.x or v20.x
- Yarn or npm
- Python v3.10.x / v3.11.x (with pip & venv)
- Git
- Supabase PostgreSQL / Local PostgreSQL instance
- SerpAPI Key (for Google Scholar paper searches)
- Groq API Key (for GPT-OSS automated text summarization)
You can choose between 2 deployment methods depending on your development requirements:
In this mode, all 3 services (AI Service, Core Backend, and Frontend) run locally on your development machine.
git clone https://github.com/AI-Research-TS/Ai-Services.git
git clone https://github.com/AI-Research-TS/Backend.git
git clone https://github.com/AI-Research-TS/Frontend.gitcd Ai-Services
# 1. Create a Python virtual environment
python -m venv venv
# Windows:
.\venv\Scripts\activate
# Linux/macOS:
source venv/bin/activate
# 2. Install dependencies
pip install -r requirements.txt
# 3. Create a .env file inside Ai-Services:
# SERPAPI_KEY=your_serpapi_key_here
# GROQ_API_KEY=your_groq_api_key_here
# DATABASE_URL=postgresql://postgres:password@db.supabase.co:5432/postgres
# 4. Start the FastAPI server
uvicorn app:app --reload --host 127.0.0.1 --port 8000The AI Service will run at:
http://127.0.0.1:8000
cd ../Backend
# 1. Install dependencies
yarn install
# 2. Create a .env file inside Backend:
# PORT=5000
# DATABASE_URL=postgresql://postgres:password@db.supabase.co:5432/postgres
# JWT_SECRET=your_jwt_secret_key
# FASTAPI_URL=http://127.0.0.1:8000
# 3. Start the Express server
yarn devThe Core Backend will run at:
http://localhost:5000
cd ../Frontend
# 1. Install dependencies
yarn install
# 2. Create a .env.local file inside Frontend:
# NEXT_PUBLIC_API_URL=http://localhost:5000/api
# 3. Start the Next.js dev server
yarn devOpen your browser at:
http://localhost:3000
In this mode, you do not need to install PyTorch or heavy Machine Learning model weights on your local machine. The Core Backend connects directly to the production Hugging Face ZeroGPU Space.
[Frontend: localhost:3000] ──> [Backend: localhost:5000] ──> [HF AI Service Cloud]
git clone https://github.com/AI-Research-TS/Backend.git
git clone https://github.com/AI-Research-TS/Frontend.gitNavigate to the Backend directory and update .env:
PORT=5000
DATABASE_URL=postgresql://postgres:password@db.supabase.co:5432/postgres
JWT_SECRET=your_jwt_secret_key
FASTAPI_URL=https://iruuuu-ai-service-skripsi.hf.spaceLaunch the backend:
cd Backend
yarn install
yarn devNavigate to the Frontend directory and update .env.local:
NEXT_PUBLIC_API_URL=http://localhost:5000/apiLaunch the frontend:
cd Frontend
yarn install
yarn devOpen your browser at http://localhost:3000 and the application is ready to use!
The AI Service employs an Ensemble Learning pipeline utilizing LaBSE (sentence-transformers/LaBSE) embeddings to classify academic literature into 45 Kurikulum Merdeka categories:
- Feature Extraction: Article titles and abstracts are encoded into 768-dimensional dense vector embeddings via LaBSE.
- Multi-Model Inference: Vector embeddings are evaluated simultaneously across 4 machine learning algorithms:
- K-Nearest Neighbors (KNN)
- Support Vector Machine (SVM)
- Logistic Regression
- Random Forest
- Consensus & Highest Confidence Selection: The system dynamically selects the prediction with the highest confidence score to determine the subject (
Biology,Physics,Chemistry,Mathematics,IPA,IPS) and education level (High School / SMA,Middle School / SMP,Elementary / SD).
The AI Service features an automated paper summarization engine (src/services/summarize_service.py) executing the following workflow:
graph LR
A[Article URL / PDF] -->|PDF Auto-Discovery| B[PyMuPDF / BeautifulSoup Text Extraction]
B -->|Clean Text & Bibliography| C[Groq LLM Engine GPT-OSS 20B]
C -->|Structured Parsing| D[JSON Output Summary]
- Automated PDF Discovery (
_find_pdf_url): Scans publisher journal pages (including Open Journal Systems / OJS) and automatically resolves direct PDF download links. - Text Extraction & Reference Separation (
_extract_text_from_pdf): UsesPyMuPDF(fitz) to parse full-text content and separate original bibliography sections. - LLM Synthesis & Translation (
summarize): Powered by Groq Cloud API runningopenai/gpt-oss-20bto synthesize and translate foreign-language papers into formal Indonesian. The model is set through theGROQ_MODELenv var, withlowreasoning effort and a 1300-token output budget to stay inside the free tier. - Structured JSON Output Parsing:
Formats generated summaries into structured JSON schemas rendered on the frontend research canvas:
judul: Official paper title.author: Authors and affiliations.kompetensi: Main research goals & scope.isi_materi: Core concepts & methodology.temuan: Key findings, empirical data, or formulas.kesimpulan: Narrative conclusion paragraph.daftar_pustaka: Extracted bibliography citations.
- Organization:
AI-Research-TS - Project: Klipin Smart Reference System