Asisten Pintar

Dokumentasi Teknis Asisten Pintar

1. Pendahuluan

Asisten Pintar adalah sebuah aplikasi web canggih yang dirancang untuk mengotomatiskan proses pencatatan notulen selama rapat, seminar, atau diskusi. Aplikasi ini memanfaatkan kekuatan Large Language Model (LLM) untuk menyediakan transkripsi audio, ekstraksi teks dari gambar (OCR), dan pembuatan ringkasan yang cerdas dan terstruktur.

Fitur Utama:

  • Perekaman Audio Multi-Sumber: Mampu merekam suara dari mikrofon, audio sistem (misalnya dari Zoom atau Google Meet), atau keduanya secara bersamaan.
  • Transkripsi Audio ke Teks: Menggunakan model Whisper Large v3 Turbo via Groq API untuk mengubah rekaman suara menjadi teks dengan akurasi tinggi.
  • Ekstraksi Teks dari Gambar (OCR): Menggunakan model Llama 4 Scout via Groq API untuk mengenali dan mengekstrak teks dari gambar atau tangkapan layar.
  • Ringkasan Cerdas & Kontekstual: Menggunakan model Llama 4 Scout via Groq API untuk menghasilkan ringkasan terstruktur yang disesuaikan dengan tema acara (rapat, seminar, wawancara, dll.), mengidentifikasi poin-poin penting, keputusan, dan item aksi.
  • Ekspor Multi-Format: Memungkinkan pengguna untuk menyimpan laporan lengkap dalam format .txt, .md, atau mencetaknya sebagai .pdf. Selain itu, semua file audio dan gambar dapat diunduh dalam format .zip.

2. Arsitektur Sistem

2.1 Diagram Arsitektur

[Frontend: Browser (index.html)]
 |
 |--- Perekaman Audio/Gambar (MediaRecorder, getUserMedia)
 |--- Interaksi Pengguna (UI Events)
 |
 | REST API (HTTPS, JSON, FormData)
 v
[Backend: Node.js on Cloud Run (index.js)]
 |
 |--- 1. /api/transcribe
 |--- 2. /api/analyze-image
 |--- 3. /api/summarize
 |--- 4. /api/generate-zip
 |
 | Groq Cloud API
 v
[Model AI: Llama-4 Scout, Whisper V3 Large Turbo]
                    

2.2 Komponen Utama

  • Frontend (Client-Side): Dibuat dengan index.html. Bertanggung jawab untuk menangani seluruh antarmuka pengguna (UI), mengelola proses perekaman audio menggunakan Web API, menangani upload dan preview gambar, serta memformat dan menampilkan hasil akhir. Menggunakan LocalStorage untuk menyimpan status sesi sementara.
  • Backend (Server-Side): Dibuat dengan index.js (Node.js & Express.js). Bertindak sebagai perantara antara frontend dan Groq API, menyediakan endpoint RESTful untuk memproses file dan mengembalikan hasilnya.
  • Layanan AI (Groq API): Menggunakan model whisper-large-v3-turbo untuk transkripsi dan meta-llama/llama-4-scout-17b-16e-instruct untuk OCR dan ringkasan.

3. Teknologi yang Digunakan

  • Frontend: TailwindCSS, Vanilla JS (ES6 Modules), Web APIs (MediaRecorder, getUserMedia), browser-image-compression.
  • Backend: Node.js, Express.js, groq-sdk, multer, archiver.
  • Model AI: Whisper V3 Large Turbo, Llama 4 Scout 17B Instruct.

4. API Backend

4.1 Transkripsi Audio

  • Endpoint: POST /api/transcribe
  • Request: FormData dengan field file (audio).

4.2 Analisis Gambar (OCR)

  • Endpoint: POST /api/analyze-image
  • Request: FormData dengan field file (gambar).

4.3 Ringkasan Notulen

  • Endpoint: POST /api/summarize
  • Request: JSON body dengan theme dan content.

4.4 Generate ZIP

  • Endpoint: POST /api/generate-zip
  • Request: FormData dengan zipFilename dan multiple file.

5. Konfigurasi

  • Backend: Membutuhkan environment variable GROQ_API_KEY_1, GROQ_API_KEY_2, dst.
  • Frontend: URL backend diatur dalam variabel BACKEND_URL di index.html.

6. Deployment

6.1 Local Development

  1. Clone Repository: git clone <url_repository>
  2. Masuk ke Direktori Backend: cd <nama_direktori>
  3. Install Dependencies: npm install
  4. Set Environment Variable: export GROQ_API_KEY_1="gsk_..."
  5. Jalankan Server: node index.js
  6. Buka file index.html di browser.

6.2 Deployment ke Google Cloud Run

  1. Buat Dockerfile di direktori root backend.
  2. Build Container Image: docker build -t gcr.io/[PROJECT_ID]/asisten-pintar .
  3. Push Image ke GCR: docker push gcr.io/[PROJECT_ID]/asisten-pintar
  4. Deploy ke Cloud Run:
    gcloud run deploy asisten-pintar-service \
      --image gcr.io/[PROJECT_ID]/asisten-pintar \
      --platform managed \
      --region asia-southeast1 \
      --allow-unauthenticated \
      --set-env-vars="GROQ_API_KEY_1=gsk_..."

7. Testing

Pengujian manual dapat dilakukan dengan mengikuti alur kerja utama aplikasi:

  1. Buka index.html di browser.
  2. Isi informasi acara.
  3. Mulai rekam audio dan pastikan transkrip muncul.
  4. Upload gambar dan pastikan hasil OCR muncul di transkrip.
  5. Klik "Buat Ringkasan" dan verifikasi bahwa ringkasan dalam format Markdown yang benar muncul.
  6. Coba semua tombol unduh (.txt, .md, .pdf, audio, .zip) dan pastikan file yang dihasilkan benar.

8. Limitasi & Catatan

  • Kualitas Input: Akurasi transkripsi dan OCR sangat bergantung pada kualitas audio (bebas noise) dan gambar (jelas dan tidak buram).
  • Potensi Bias LLM: Hasil ringkasan yang dihasilkan oleh AI mungkin mengandung bias atau halusinasi. Hasilnya harus selalu ditinjau oleh manusia untuk akurasi final.
  • Manajemen Biaya: Penggunaan Groq API dihitung berdasarkan penggunaan token. Fitur deteksi bahasa Indonesia ditambahkan untuk menghemat token dengan menghindari terjemahan yang tidak perlu.
  • Timeout: Proses transkripsi dan ringkasan memiliki batas waktu untuk mencegah proses yang berjalan terlalu lama dan memakan biaya.

9. Rencana Pengembangan

  • Dukungan Multi-Bahasa.
  • Integrasi dengan Google Docs / Notion.
  • Integrasi real-time dengan Zoom/Meet API.
  • Manajemen Sesi di cloud.

10. Kontak Developer

Ir. Isparmo

Website: www.isparmo.com

Email: mail@isparmo.com

HP/WA: 0812 108 3060