ChatBotAI x IBM adalah aplikasi web chatbot cerdas yang memanfaatkan kekuatan model IBM Granite 3.3-8B Instruct untuk memberikan pengalaman percakapan yang natural dan informatif. Aplikasi ini dirancang untuk mendukung berbagai use case mulai dari conversation umum, code generation, text summarization, hingga problem solving dengan advanced reasoning capabilities.
Project ini menggabungkan teknologi AI enterprise-grade dari IBM dengan interface web yang modern dan user-friendly. Aplikasi ini mengintegrasikan kemampuan AI tingkat lanjut dengan antarmuka yang responsif dan mudah digunakan, memberikan solusi chatbot yang powerful untuk berbagai kebutuhan bisnis dan personal.
-
Model ini dirancang untuk menangani tugas-tugas instruction-following umum dan dapat diintegrasikan ke dalam asisten AI di berbagai domain, termasuk aplikasi bisnis
-
Model Granite 3.3 memiliki kemampuan reasoning yang ditingkatkan dan dukungan untuk Fill-in-the-Middle (FIM) code completion
-
Small language model yang fine-tuned untuk peningkatan reasoning, coding, dan instruction-following
-
React - Framework yang digunakan untuk frontend dalam menyambungkan API dengan Website
-
Vite - Tools build untuk membuat framework react
-
JavaScript - Bahasa pemrograman utama untuk framework frontend
-
HTML5 & TailwindCSS - Untuk struktur dan styling antarmuka
-
Replicate API - Membantu Menyambungkan dengan Model granite-3.3-8b-instruct tersedia di Replicate
-
REST API - Untuk komunikasi antara frontend dan backend
-
Node.js - Membantu dalam membuat API yang disambungkan ke Replicate API
-
Express.js - Framework yang digunakan untuk Node.js dalam membuat API
- Vercel - Platform deployment yang support dengan React(Frontend) dan Express(Backend)
-
Efisiensi Computational: Model Granite 3.0 dirancang sebagai model enterprise yang kecil namun sangat akurat dan efisien
-
Enterprise-Ready: Dikembangkan IBM untuk penggunaan enterprise, memprioritaskan kepercayaan, keamanan, dan efisiensi biaya tanpa mengorbankan performa
-
Versatility: Dapat digunakan untuk berbagai use case termasuk text generation, classification, summarization, entity extraction, dan customer service chatbots
-
Performance: Optimasi otomatis untuk aplikasi web modern
-
Scalability: Auto-scaling berdasarkan traffic
-
Developer Experience: CI/CD terintegrasi dengan GitHub
-
Global CDN: Distribusi konten global untuk performa optimal
-
Separation of Concerns: Frontend dan backend terpisah untuk maintainability
-
API-First Approach: Memungkinkan integrasi dengan berbagai platform
-
Cloud-Native: Memanfaatkan layanan cloud untuk scalability
Deskripsi Fitur:
Interface percakapan real-time yang memungkinkan pengguna berinteraksi dengan AI model IBM Granite 3.3-8b melalui chat berbasis web.
Cara Kerja:
-
User mengetik pertanyaan atau perintah di input field
-
Frontend mengirim request ke backend API yang terhubung dengan model Granite 3.3-8b
-
Model Granite memberikan respons yang robust untuk creating interactive chatbots, executing precise instructions dan supporting multiple languages
-
Respons ditampilkan secara real-time di interface chat
Fungsi yang Berjalan:
-
Message streaming untuk respons yang smooth
-
Auto-scrolling behavior untuk pengalaman chat yang natural
-
Message history persistence selama sesi berlangsung
Deskripsi Fitur:
Streaming chat messages dari AI provider dengan management chat state dan UI updates otomatis ketika new messages arrive
Cara Kerja:
-
Menggunakan Vercel AI SDK untuk streaming capabilities
-
WebSocket atau SSE (Server-Sent Events) untuk real-time communication
-
Progressive loading respons untuk user experience yang lebih baik
-
State management untuk handling multiple concurrent conversations
Deskripsi Fitur:
Interface yang optimal dan dapat menyesuaikan tampilan secara otomatis di berbagai perangkat termasuk desktop, tablet, dan mobile untuk memberikan pengalaman pengguna yang konsisten.
Cara Kerja:
-
Menggunakan CSS Media Queries untuk mendeteksi ukuran layar dan device orientation
-
Implementasi Flexbox/CSS Grid untuk layout yang fleksibel dan adaptif
-
Breakpoint system yang mengoptimalkan tampilan untuk range resolusi tertentu (mobile: <768px, tablet: 768px-1024px, desktop: >1024px)
-
Touch-friendly controls dengan minimum touch target 44px untuk mobile usability
-
Adaptive typography scaling berdasarkan viewport size
Fungsi yang Berjalan:
-
Auto-adjustment layout container berdasarkan screen width
-
Scalable chat interface dengan optimal bubble sizing
Deskripsi Fitur:
Interface desain yang dapat diubah menurut preferensi pengguna dengan pilihan System/Light/Dark theme untuk kenyamanan visual dan accessibility.
Cara Kerja:
-
System Theme: Menggunakan prefers-color-scheme media query untuk mendeteksi preferensi OS pengguna
-
Manual Theme Selection: Tombol switcher yang menyimpan preferensi di localStorage/sessionStorage
-
CSS Custom Properties (CSS Variables) untuk color scheme management
-
Dynamic class switching pada root element untuk theme transitions
-
Smooth transition animations antara theme modes
Fungsi yang Berjalan:
-
Auto-detection system theme pada first load
-
Persistent theme preference across sessions
-
Contrast optimization untuk accessibility compliance
-
Theme-aware icon dan image variations
Deskripsi Fitur:
Interface yang memudahkan pengguna dalam mengubah konfigurasi model AI seperti temperature, max tokens, system prompt, dan parameter lainnya untuk customized AI behavior.
Cara Kerja:
-
Configuration panel dengan intuitive form controls
-
Real-time parameter validation dengan immediate feedback
-
Preset configuration templates untuk different use cases
Fungsi yang Berjalan:
-
Temperature control untuk creativity/randomness adjustment
-
Max tokens limitation setting untuk response length control
-
System prompt customization untuk specific AI personality/behavior
-
Model parameter tuning (top-p, frequency penalty, presence penalty)
-
Live preview of configuration impact pada AI responses
Deskripsi Fitur:
System yang robust untuk handling berbagai error scenarios dan providing graceful degradation.
Cara Kerja:
-
API timeout handling dengan retry mechanisms
-
Fallback responses ketika model tidak tersedia
-
User feedback untuk failed requests
-
Graceful error messages yang user-friendly
-
User mengakses interface melalui browser
-
Input dikirim ke backend API
-
Backend memproses request ke IBM Granite 3.3-8b model
-
Model memberikan intelligent response
-
Response di-stream kembali ke frontend
-
UI updates secara real-time dengan respons yang diterima
-
Jika respons tidak sesuai yang diinginkan user dapat menyesuaikan inputan pada setting configuration
-
Chatbot-like interface yang memungkinkan users untuk quickly explore, enrich, display, dan improve data untuk AI applications
-
User dapat menyesuaikan setinggan dengan yang diinginkan
-
Seamless integration antara modern web technologies dengan enterprise-grade AI model
-
Scalable architecture yang dapat handle multiple concurrent users
Pastikan Anda memiliki software berikut terinstall di sistem:
-
Node.js (version 16.x atau lebih baru)
-
npm atau yarn package manager
-
Git untuk version control
-
Replicate Account (untuk akses IBM Granite model API)
git clone https://github.com/machfudn/chatbotai-ibm.git
cd chatbotai-ibm
# Menggunakan npm
npm run install-all
# Atau menggunakan yarn
yarn install-all
Buat file .env di backend dan frontend directory dengan mengikuti .env.example atau tambahkan konfigurasi berikut:
# Environment Backend
REPLICATE_API_TOKEN=api_replicate_model_ibm
NODE_ENV=development
PORT=5000
# Environment Frontend
VITE_API_URL=url_api_backend
-
Buat Replicate Account: Daftar di Replicate
-
Get API Credentials: Dapatkan API Token dari akun Anda di Replicate
# Start development server
npm run dev
# Atau dengan yarn
yarn dev
Frontend akan berjalan di http://localhost:5173
Backend akan berjalan di http://localhost:5000
API Endpoint:
GET: http://localhost:5000/api/health
| Field | Tipe |
|---|---|
| status | string |
| message | string |
| timestamp | string |
POST: http://localhost:5000/api/chat
| Field | Tipe | Required | Deskripsi |
|---|---|---|---|
| prompt | string | β | Teks input dari user yang akan dikirim ke AI |
Dalam proyek ini, teknologi Artificial Intelligence (AI) digunakan secara relevan untuk membangun fitur chatbot interaktif yang dapat merespons pesan pengguna secara dinamis. Proses integrasi AI dilakukan melalui jalur komunikasi antara antarmuka pengguna (frontend) dan server (backend) berbasis Express.js
Ketika pengguna mengirimkan pesan melalui website, data tersebut diteruskan ke backend yang kemudian memanfaatkan token API dari layanan Replicate. Token ini digunakan untuk mengakses dan menjalankan model IBM Granite 3.3-8B Instruct, yaitu model bahasa besar (Large Language Model) yang memiliki kemampuan pemrosesan teks tingkat lanjut.
Model IBM Granite 3.3-8B Instruct memungkinkan sistem menjawab berbagai jenis pesan, termasuk:
-
Percakapan umum (general conversation) - Interaksi natural layaknya berbicara dengan manusia
-
Pembuatan kode program (code generation) - Generating code dalam berbagai bahasa pemrograman
-
Rangkuman teks (text summarization) - Merangkum dokumen panjang menjadi poin-poin penting
-
Pemecahan masalah kompleks (problem solving) - Analisis dan solusi untuk masalah yang kompleks
-
Kemampuan penalaran tingkat lanjut (advanced reasoning capabilities) - Logical thinking dan analytical processing
Hasil balasan dari model AI ini kemudian dikirim kembali ke frontend dan ditampilkan tepat di bawah pesan pengguna, membentuk alur percakapan layaknya interaksi manusia.
Dengan demikian, penggunaan model IBM Granite 3.3-8B Instruct memberikan kontribusi nyata dalam meningkatkan interaktivitas dan kecerdasan respons aplikasi chatbot ini. Model ini tidak hanya menjawab pesan secara kontekstual, tetapi juga memperkaya pengalaman pengguna melalui fleksibilitas dalam menangani berbagai skenario penggunaan.
-
Enterprise-Grade Quality - Model IBM Granite dirancang khusus untuk aplikasi bisnis dengan standar enterprise
-
Multi-Domain Expertise - Kemampuan memahami dan merespons berbagai domain knowledge
-
Contextual Understanding - Mempertahankan konteks percakapan untuk interaksi yang lebih natural
-
Scalable Performance - Dioptimalkan untuk handling multiple concurrent users
-
Advanced Reasoning - Kemampuan analytical thinking untuk problem solving yang kompleks
User Input β React Frontend β Express.js API β Replicate Service β IBM Granite Model β AI Response β Stream Back β Real-time Display
π Website: chatbotai-ibm.vercel.app
π Repository: github.com/machfudn/chatbotai-ibm
