Program Reseller Cloud: Jual kembali Cloud VPS & Residential Proxy di bawah brand Anda 100% Whitelabel.Pelajari Reseller
Kembali ke Blog
CATATAN REKAYASA

Cara Membangun Sistem AI Hukum Pintar dengan Pendekatan RAG Menggunakan Node.js dan LLM

Dahono AI8 September 2026143 pembaca
Cara Membangun Sistem AI Hukum Pintar dengan Pendekatan RAG Menggunakan Node.js dan LLM

Halo tech enthusiasts dan praktisi hukum! Di era modern ini, integrasi kecerdasan buatan (AI) ke dalam bidang hukum bukan lagi sekadar wacana masa depan, melainkan kebutuhan mendesak. Bayangkan betapa efisiennya jika kita bisa melakukan query atau pencarian analisis terhadap ratusan halaman dokumen regulasi, undang-undang, atau kontrak bisnis dalam hitungan detik.

Pada artikel teknis kali ini, kita akan membahas cara membangun sistem Retrieval-Augmented Generation (RAG) sederhana menggunakan Node.js. Sistem ini dirancang untuk menjawab pertanyaan spesifik seputar dokumen hukum lokal tanpa hallucination (halusinasi AI) yang sering terjadi pada Large Language Models (LLM) standar.


Prasyarat

Sebelum kita mulai menulis kode, pastikan Anda telah menyiapkan:

  • Node.js (versi 18 atau 20 ke atas) terinstal di mesin Anda.
  • Pemahaman dasar tentang async/await di JavaScript.
  • Akses ke LLM API (seperti OpenAI, Anthropic, atau model lokal via gateway).

Langkah 1: Inisialisasi Proyek Node.js

Buat folder baru untuk proyek Anda, laluinisialisasi proyek Node.js baru dan instal dependensi yang diperlukan:

mkdir legal-ai-rag
cd legal-ai-rag
npm init -y
npm install express dotenv node-fetch

Buat file .env di root direktori untuk menyimpan kredensial API Anda:

PORT=3000
LLM_API_KEY=your_api_key_here
LLM_GATEWAY_URL=https://router.dahono.com/v1/chat/completions

Catatan Pro: Dalam lingkungan produksi, pengelolaan berbagai model LLM (failover, rate limiting, dan load balancing) sangat krusial. Anda bisa memanfaatkan Dahono Router sebagai AI Gateway yang handal untuk mengoptimalkan routing permintaan LLM Anda secara efisien dan aman.


Langkah 2: Menyiapkan Basis Pengetahuan Hukum (Knowledge Base)

Untuk demonstrasi ini, kita asumsikan kita memiliki dokumen teks hukum sederhana yang berisi pasal-pasal atau ringkasan kontrak. Buat file bernama legal_docs.json:

[
  {
    "id": 1,
    "title": "Pasal Ketenagakerjaan - Cuti Tahunan",
    "content": "Setiap pekerja yang telah masa kerja 12 bulan secara terus menerus berhak atas cuti tahunan sekurang-kurangnya 12 hari kerja."
  },
  {
    "id": 2,
    "title": "Pasal Kerahasiaan (NDA) - Durasi",
    "content": "Kewajiban kerahasiaan informasi dalam perjanjian ini tetap berlaku selama 3 (tiga) tahun setelah berakhirnya kontrak kerja sama."
  }
]

Langkah 3: Membuat Logika Pencarian Konteks (Retrieval)

Kita buat fungsi sederhana untuk mencari dokumen yang relevan berdasarkan kata kunci dari pertanyaan pengguna. Buat file rag.js:

const fs = require('fs');
const fetch = require('node-fetch');
require('dotenv').config();

// Load dokumen hukum
const documents = JSON.parse(fs.readFileSync('./legal_docs.json', 'utf-8'));

function retrieveContext(query) {
  // Pencarian sederhana berbasis kecocokan keyword (untuk produksi, gunakan Vector Embedding)
  const results = documents.filter(doc => 
    query.toLowerCase().split(' ').some(word => 
      doc.content.toLowerCase().includes(word) || doc.title.toLowerCase().includes(word)
    )
  );
  
  return results.length > 0 ? results.map(r => r.content).join('\n\n') : "Tidak ditemukan konteks yang relevan.";
}

async function generateLegalAnswer(userQuery) {
  const context = retrieveContext(userQuery);
  
  const prompt = `
  Anda adalah asisten AI hukum yang profesional dan akurat.
  Gunakan HANYA konteks di bawah ini untuk menjawab pertanyaan klien.
  Jika jawaban tidak terdapat dalam konteks, katakan "Informasi tidak tersedia dalam dokumen hukum yang diunggah".

  Konteks:
  ${context}

  Pertanyaan:
  ${userQuery}
  `;

  try {
    const response = await fetch(process.env.LLM_GATEWAY_URL, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${process.env.LLM_API_KEY}`
      },
      body: JSON.stringify({
        model: "default-legal-model",
        messages: [{ role: "user", content: prompt }],
        temperature: 0.1 // Rendah agar jawaban lebih faktual dan tidak berhalusinasi
      })
    });

    const data = await response.json();
    return data.choices[0].message.content;
  } catch (error) {
    console.error("Gagal menghubungi LLM API:", error);
    throw error;
  }
}

module.exports = { generateLegalAnswer };

Langkah 4: Membuat Endpoint Express.js

Sekarang, mari kita bungkus fungsi RAG tersebut ke dalam server Express agar dapat diakses via HTTP. Buat file server.js:

const express = require('express');
const { generateLegalAnswer } = require('./rag');

const app = express();
app.use(express.json());

app.post('/api/ask', async (req, res) => {
  const { question } = req.body;

  if (!question) {
    return res.status(400).json({ error: "Parameter 'question' wajib diisi." });
  }

  try {
    const answer = await generateLegalAnswer(question);
    res.json({ success: true, answer });
  } catch (error) {
    res.status(500).json({ success: false, error: "Terjadi kesalahan pada server internal." });
  }
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server AI Hukum berjalan di port ${PORT}`);
});

Jalankan server Anda dengan perintah:

node server.js

Kesimpulan dan Langkah Selanjutnya

Selamat! Anda baru saja membangun purwarupa sistem RAG sederhana untuk kebutuhan analisis dokumen hukum menggunakan Node.js. Pendekatan ini sangat ampuh untuk memastikan model LLM memberikan jawaban yang berpijak pada data faktual perusahaan atau firma hukum Anda.

Bagi Anda yang ingin mengembangkan sistem AI hukum yang lebih kompleks, mendalam, dan terstandarisasi untuk kebutuhan riset, analisis kontrak, atau solusi spesifik industri, jelajahi inovasi dari Dahono Labs yang berfokus pada teknologi riset AI hukum mutakhir. Jika Anda membutuhkan pendampingan strategis atau implementasi teknologi khusus untuk kebutuhan non-litigasi perusahaan Anda, silakan diskusikan kebutuhan Anda bersama tim ahli kami melalui Dahono Consulting.

Selamat mencoba dan teruslah berinovasi!

KATEGORI

AI hukumRAG Node.jsLLM APIDahono Routerpengembangan AIhukum non-litigasi