LLM Hosting

    API Kompatibel OpenAI dengan Data Tetap di Indonesia: Cara Memindahkan Kode yang Sudah Ada

    Pindahkan aplikasi yang sudah memakai OpenAI SDK ke model open-weight yang berjalan di Jakarta. Cukup ganti base URL, API key, dan nama model.

    Kalau sebuah aplikasi sudah memanggil OpenAI lewat Chat Completions, memindahkannya ke model yang berjalan di Indonesia umumnya cukup dengan mengganti tiga hal: base URL, API key, dan nama model. IONext menyediakan endpoint inference kompatibel OpenAI di Jakarta, sehingga prompt dan respons diproses di dalam negeri tanpa menulis ulang integrasi.

    Apa arti "API kompatibel OpenAI"?

    API kompatibel OpenAI berarti endpoint menerima format request dan mengembalikan format respons yang sama dengan API OpenAI. SDK, library, dan tool yang sudah bisa bicara dengan OpenAI bisa diarahkan ke penyedia lain tanpa mengubah logika aplikasi. Yang berubah hanya alamat tujuan, kredensial, dan model yang menjawab.

    Format Chat Completions sudah menjadi standar de facto. OpenAI SDK, LangChain, LlamaIndex, n8n, dan banyak agent framework menyediakan opsi base URL kustom. Artinya, pekerjaan migrasi berpindah dari "tulis ulang integrasi" menjadi "ganti konfigurasi, lalu uji".

    Satu hal yang perlu jelas sejak awal: kompatibel tidak berarti identik. Formatnya sama, tetapi model yang menjawab berbeda, dan tidak semua endpoint OpenAI tersedia di setiap penyedia. Bagian di bawah merinci apa yang didukung IONext saat ini.

    Kenapa ini penting untuk proyek dengan data klien di Indonesia?

    Banyak system integrator dan software house membangun aplikasi AI pertama mereka di atas OpenAI. Masalah muncul ketika klien berikutnya adalah bank, BUMN, rumah sakit, atau instansi pemerintah yang mensyaratkan data pribadi diproses di Indonesia. Menulis ulang integrasi untuk satu klien memakan waktu dan menambah codebase yang harus dirawat.

    Dengan API kompatibel OpenAI, tim bisa menjaga satu codebase dan memilih endpoint per klien lewat konfigurasi:

    • Klien yang tidak punya batasan lokasi data tetap memakai endpoint yang sudah berjalan.
    • Klien yang mensyaratkan pemrosesan di Indonesia diarahkan ke endpoint IONext di Jakarta.

    Untuk klien kategori kedua, yang biasanya ditanyakan saat review adalah lokasi pemrosesan, entitas hukum penyedia, sertifikasi keamanan, dan mata uang tagihan. IONext dioperasikan oleh PT Data Awan Nusantara di Jakarta, bersertifikat ISO/IEC 27001:2022 oleh TÜV NORD, dan menagih dalam Rupiah. Detail sertifikat dan kontrol keamanan ada di halaman Keamanan dan Kepatuhan.

    Konteks regulasinya kami bahas di Memakai LLM untuk data pelanggan, apa kata UU PDP dan PP 33/2026: Dampak untuk Proyek AI.

    Endpoint dan fitur apa yang didukung IONext?

    Per 12 Oktober 2026, endpoint inference IONext mendukung Chat Completions dan daftar model, termasuk streaming, function calling, structured output, dan input gambar. Endpoint lain dari API OpenAI, seperti embeddings, belum tersedia. Base URL-nya adalah https://inference.ionext.ai/v1.

    Komponen Status
    POST /v1/chat/completions Didukung
    GET /v1/models Didukung
    Streaming (stream=True) Didukung
    Function calling / tools Didukung
    JSON mode dan structured output Didukung
    Input gambar Didukung
    /v1/completions (legacy) Belum tersedia
    /v1/embeddings Belum tersedia

    Model yang tersedia saat ini:

    Nama model di API Keterangan
    Qwen/Qwen3.8-27B-FP8 Model dense 27B dari tim Qwen (Alibaba Cloud), versi kuantisasi FP8, konteks 262K bisa diperluas hingga 1M dengan YaRN, menerima input teks dan gambar

    Daftar model bisa berubah. Untuk melihat yang sedang aktif, panggil GET /v1/models (contohnya ada di langkah 4 di bawah).

    Bagaimana cara memindahkan kode yang sudah ada?

    Untuk aplikasi yang memakai OpenAI SDK, migrasi biasanya selesai dalam lima langkah: dapatkan akses API, simpan API key sebagai environment variable, ganti base URL dan nama model, cek model yang tersedia, lalu uji dengan data dari use case yang sebenarnya.

    1. Dapatkan akses API

    Buat akun di console IONext. Saat ini, aktivasi saldo dan akses API masih dibantu tim IONext, jadi setelah mendaftar, hubungi tim kami untuk aktivasi workspace.

    2. Simpan API key sebagai environment variable

    Jangan menulis API key langsung di kode. Simpan di environment variable atau secret manager:

    export IONEXT_API_KEY="isi-dengan-api-key-anda"
    

    3. Ganti base URL, API key, dan nama model

    Ini satu-satunya perubahan di kode untuk aplikasi yang memakai OpenAI SDK versi Python:

    import os
    from openai import OpenAI
    
    client = OpenAI(
        base_url="https://inference.ionext.ai/v1",   # sebelumnya: bawaan OpenAI
        api_key=os.environ["IONEXT_API_KEY"],         # sebelumnya: OPENAI_API_KEY
    )
    
    response = client.chat.completions.create(
        model="Qwen/Qwen3.8-27B-FP8",                 # sebelumnya: model GPT
        messages=[
            {"role": "user", "content": "Jelaskan UU PDP dalam tiga kalimat."}
        ],
        temperature=0.6,
        max_tokens=1024,
    )
    
    print(response.choices[0].message.content)
    

    Kalau tidak memakai SDK, request HTTP biasa juga bisa. Contoh berikut memakai library requests:

    import os
    import requests
    
    url = "https://inference.ionext.ai/v1/chat/completions"
    
    headers = {
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": f"Bearer {os.environ['IONEXT_API_KEY']}",
    }
    
    payload = {
        "model": "Qwen/Qwen3.8-27B-FP8",
        "max_tokens": 4096,
        "temperature": 0.6,
        "messages": [
            {"role": "user", "content": "Jelaskan UU PDP dalam tiga kalimat."}
        ],
    }
    
    response = requests.post(url, headers=headers, json=payload)
    print(response.json())
    

    Catatan untuk tool pihak ketiga: sebagian tool meminta base URL (https://inference.ionext.ai/v1), sebagian lain meminta URL lengkap sampai endpoint (https://inference.ionext.ai/v1/chat/completions). Kalau koneksi gagal, coba bentuk yang satunya.

    4. Cek model yang tersedia

    for model in client.models.list():
        print(model.id)
    

    Pakai nama model persis seperti yang muncul di sini, termasuk awalan Qwen/.

    5. Uji dengan use case yang sebenarnya

    Format yang sama tidak menjamin jawaban yang sama. Bagian berikut merinci apa yang perlu diuji.

    Apa yang perlu diuji sebelum masuk produksi?

    Yang paling sering berbeda setelah pindah endpoint adalah kualitas jawaban, perilaku tool calling, dan bagian pipeline yang tidak ikut pindah, seperti embedding dan tracing. Uji kelima area di bawah dengan data dari use case yang sebenarnya, bukan dengan prompt demo.

    • Kualitas jawaban. Qwen bukan GPT. Siapkan set evaluasi kecil dari pertanyaan nyata klien, misalnya 30 sampai 50 contoh, lalu bandingkan hasilnya sebelum dan sesudah pindah. Sebagian system prompt mungkin perlu disesuaikan.
    • Function calling. Pastikan model memilih tool yang benar dan argumen yang dihasilkan lolos validasi skema di sisi aplikasi.
    • Structured output. Tetap validasi JSON di sisi aplikasi, sama seperti saat memakai penyedia mana pun.
    • Embedding untuk RAG. Endpoint embeddings belum tersedia di API ini. Jalankan model embedding secara terpisah, misalnya di VM GPU di Jakarta, supaya potongan dokumen tidak dikirim ke luar negeri. Polanya kami bahas di Arsitektur RAG yang Datanya Tetap di Indonesia.
    • Alur data di luar model. Tool tracing, logging, dan evaluasi yang aktif saat prototyping sering tetap mengirim prompt lengkap ke layanan di luar negeri setelah go-live. Periksa setiap integrasi, bukan hanya endpoint model.

    Apakah memindahkan endpoint otomatis membuat proyek patuh UU PDP?

    Tidak otomatis. Lokasi pemrosesan model adalah satu komponen dari kepatuhan, bukan seluruhnya. Proyek tetap membutuhkan dasar pemrosesan yang sah, penilaian dampak pelindungan data (DPIA) bila diwajibkan, kontrak dengan sub-prosesor, dan kontrol akses yang jelas. Memindahkan inference ke Indonesia menghilangkan satu pertanyaan besar saat review, yaitu transfer data pribadi ke luar negeri untuk pemrosesan model, sehingga diskusi dengan tim legal klien bisa fokus ke hal lain.

    Mulai dari mana?

    Untuk tim yang sedang menyiapkan proyek bagi klien yang mensyaratkan data diproses di Indonesia, daftar di console lalu hubungi tim IONext untuk aktivasi akses API. Spesifikasi GPU dan kecocokan memori model ada di halaman GPU, dan cara IONext memantau infrastruktur yang menjalankan model tersebut dijelaskan di ORBIT.

    IONext adalah infrastruktur AI berdaulat yang di-host di Indonesia, dioperasikan oleh PT Data Awan Nusantara di Jakarta. IONext menyediakan GPU as a Service, managed inference melalui API yang kompatibel dengan OpenAI, dan hosting model open-weight, bersertifikat ISO/IEC 27001:2022 oleh TÜV NORD.

    Artikel terkait

    Lihat semua artikel