
Baik Anda sedang membuat chatbot AI maupun menambahkan fitur percakapan ke aplikasi, memahami cara AI menangani percakapan adalah hal penting. Chat Completion API memungkinkan hal ini dengan menghubungkan aplikasi ke model AI untuk menghasilkan respons yang relevan dan menyerupai manusia. Dengan fitur seperti integrasi Python, streaming, dan pemanggilan alat, developer dapat membuat aplikasi yang lebih interaktif. Mari pelajari cara kerjanya, cara menggunakannya, serta bagaimana penyedia seperti Kimi API mendukung pengembangan AI yang fleksibel.
Apa itu Chat Completions API
Chat Completions API adalah antarmuka yang memungkinkan aplikasi mengirim rangkaian pesan ke model AI dan menerima respons asisten, serta mendukung percakapan satu putaran maupun beberapa putaran. Misalnya, Anda dapat menggunakan Kimi K3.1 Pro untuk menjawab pertanyaan tentang dekorator Python, lalu mengajukan pertanyaan lanjutan:
Permintaan pertama: Kirim pesan pengguna, "Apa itu dekorator Python?" Kimi mengembalikan pesan asisten yang menjelaskan konsep tersebut.
Permintaan kedua: Untuk melanjutkan percakapan, kirim pesan pengguna sebelumnya, pesan asisten lengkap dari Kimi, dan pesan pengguna baru: "Bisakah Anda memberi saya contoh?"
Array messages membawa konteks yang diperlukan untuk setiap permintaan. Tiga keputusan desain utama membuat antarmuka ini banyak digunakan:
Riwayat yang dikelola aplikasi: Aplikasi mengelola riwayat percakapan dan menyertakan konteks yang relevan dalam setiap permintaan, sehingga developer dapat mengendalikan apa yang dilihat model.
Peran pesan umum: Peran yang umum mencakup
system(instruksi),user(masukan),assistant(keluaran model, dikirim kembali untuk konteks multi-giliran), dantool(hasil pemanggilan fungsi). Bersama-sama, peran ini membantu menyampaikan instruksi, dialog, dan interaksi alat.Kemampuan fleksibel: Bergantung pada dukungan model, antarmuka dapat menangani streaming, pemanggilan alat, masukan visual, dan keluaran terstruktur. Kimi K3.1 Pro mendukung kemampuan tersebut.
Cara menggunakan Chat Completions API dengan Kimi
Contoh berikut menggunakan Kimi K3.1 Pro dan OpenAI Python SDK untuk menunjukkan cara mengonfigurasi klien, mengirim permintaan, menangani respons, dan menerapkan pemanggilan alat:
Mulai cepat: Panggil Kimi dengan OpenAI Python SDK
Instal OpenAI Python SDK:
Tetapkan kunci Kimi API sebagai variabel lingkungan:
Anda tidak memerlukan kunci OpenAI API. OpenAI Python SDK berfungsi sebagai pustaka klien, sedangkan kunci Kimi API dan URL dasar Anda mengautentikasi serta mengarahkan permintaan ke Kimi.
Inisialisasi klien dan kirim permintaan pertama Anda:
Contoh ini menggunakan endpoint API internasional Kimi. Untuk penyiapan resmi dan detail model, lihat Panduan Mulai Cepat Kimi K3.1 Pro.
Parameter utama
Parameter ini mencakup opsi utama yang tersedia saat memanggil Kimi K3.1 Pro melalui Chat Completions API:
| Parameter | Tujuan |
|---|---|
model | Menentukan ID model, seperti kimi-k3.1-pro. |
messages | Menyediakan pesan percakapan, termasuk masukan pengguna sebelumnya dan balasan asisten. Mendukung konten teks dan multimodal. |
reasoning_effort | Mengatur kedalaman penalaran. Menerima low, high, atau max (default). |
max_completion_tokens | Menetapkan anggaran maksimum untuk pembuatan, termasuk token penalaran dan token jawaban akhir. Token input dihitung terpisah, tetapi gabungan token input dan token yang dihasilkan harus muat dalam jendela konteks model. |
stream | Atur ke true untuk menerima respons secara bertahap, alih-alih menunggu output lengkap. |
tools | Menentukan fungsi yang dapat diminta model untuk dijalankan oleh aplikasi. |
response_format | Mengatur format output. Mendukung json_object untuk mode JSON dan json_schema untuk output terstruktur yang dibatasi skema. |
Catatan: Kimi K3.1 Pro menggunakan pengaturan sampling tetap. Jangan tambahkan temperature atau top_p ke permintaan. Lihat referensi Chat Completions API untuk detail parameter dan nilai yang didukung.
Membaca respons
Setelah permintaan berhasil, Anda dapat mengakses kolom respons utama melalui objek completion yang dikembalikan:
choices[0].message– Berisi balasan asisten, termasukcontentatautool_callssaat model meminta fungsi.choices[0].finish_reason– Menunjukkan alasan pembuatan dihentikan, sepertistop,length, atautool_calls.usage– Menyediakan informasi penggunaan token, termasuk jumlah token masukan, keluaran, dan cache jika tersedia.
Untuk respons teks dasar, baca choices[0].message.content. Jika model mengembalikan tool_calls, aplikasi Anda perlu menjalankan fungsi yang diminta dan mengirimkan hasilnya dalam permintaan lanjutan
Contoh streaming
Tetapkan stream=True untuk menerima respons Kimi dalam potongan bertahap. Contoh berikut menggunakan kembali client yang dikonfigurasi di atas dan mencetak jawaban akhir saat diterima:
Kimi K3.1 Pro mengembalikan konten penalaran secara terpisah dari jawaban akhir. Contoh ini hanya mencetak delta.content, sehingga menampilkan respons akhir tanpa memproses kolom reasoning_content yang terpisah.
Ringkasan pemanggilan alat
Pemanggilan alat memungkinkan Kimi meminta fungsi eksternal saat suatu tugas memerlukan informasi atau tindakan di luar respons model itu sendiri. Misalnya, jika pengguna bertanya, "Haruskah saya membawa payung di Tokyo hari ini?", Kimi dapat meminta fungsi get_weather untuk mengambil prakiraan cuaca.
Alur kerjanya terdiri dari tiga langkah:
Deklarasikan fungsi: Tentukan
get_weatherdan argumen yang diharapkan di bawah parametertools.Jalankan alat: Kimi mengembalikan entri
tool_callsberisi nama fungsi dan argumen. Aplikasi Anda menjalankan fungsi yang sesuai dan mengambil data cuaca.Kirimkan hasilnya kembali: Tambahkan pesan asisten lengkap dari Kimi dan hasil alat (menggunakan
tool_call_idyang sesuai) ke percakapan, lalu panggil Kimi lagi untuk menghasilkan jawaban yang ditujukan kepada pengguna.
Contoh berikut menggunakan kembali client yang dikonfigurasi di atas. Sebelum menjalankannya, pastikan Anda telah menerapkan fungsi get_weather(city) yang mengembalikan data cuaca yang dapat diserialisasi ke JSON. Fungsi tersebut dijalankan oleh aplikasi Anda, bukan oleh Kimi.
Di sini, get_weather() merepresentasikan fungsi yang diterapkan oleh aplikasi Anda, bukan fungsi yang dijalankan langsung oleh Kimi. Kimi menentukan kapan fungsi tersebut perlu diminta dan menyediakan argumennya; aplikasi Anda menjalankan operasi sebenarnya dan mengembalikan hasilnya.
Dalam produksi, terapkan loop yang memproses setiap pemanggilan alat, menambahkan hasil terkait ke percakapan, lalu mengirim kembali pesan yang diperbarui ke Kimi. Ulangi siklus ini hingga model mengembalikan jawaban akhir tanpa meminta alat tambahan.
Mengapa "OpenAI-compatible" penting saat memilih penyedia
Banyak penyedia mendukung format OpenAI Chat Completions, sehingga developer dapat menggunakan kembali SDK dan struktur permintaan yang sudah dikenal. Peralihan biasanya cukup dengan memperbarui URL dasar, kunci API, dan ID model, lalu memeriksa parameter yang didukung serta penanganan respons. Saat membandingkan penyedia, pertimbangkan faktor berikut:
Ketepatan kompatibilitas: Pastikan streaming, pemanggilan alat, keluaran terstruktur, dan pelaporan
usageberfungsi sesuai harapan aplikasi Anda. Kompatibilitas dengan format API yang sama tidak menjamin dukungan fitur atau perilaku respons yang identik di semua penyedia.Kualitas model untuk beban kerja Anda: Kombinasi bahasa dan jenis tugas Anda lebih penting daripada benchmark umum.
Jendela konteks: Model berkonteks panjang dapat menyederhanakan beberapa alur kerja dokumen dengan memproses lebih banyak materi sumber dalam satu permintaan.
Mekanisme biaya: Caching dan diskon batch sering kali lebih berpengaruh daripada harga per token yang ditampilkan.
Cakupan ekosistem: Endpoint kompatibel tambahan, seperti Responses dan Anthropic Messages, dapat menyediakan lebih banyak opsi integrasi dan fleksibilitas seiring perkembangan aplikasi Anda.
Kimi API: Penyedia OpenAI-compatible yang unggul
Kimi API, yang dikembangkan oleh Moonshot AI, layak dipertimbangkan jika Anda mencari penyedia OpenAI-compatible, khususnya untuk aplikasi berbahasa Mandarin, pemrosesan dokumen panjang, dan agen coding. Kimi API menggabungkan pola integrasi API yang sudah dikenal dengan kemampuan konteks panjang dan penalaran Kimi.
Kompatibel langsung digunakan
Jika aplikasi Anda sudah menggunakan OpenAI Python SDK, Anda dapat mengintegrasikan Kimi tanpa menulis ulang seluruh alur permintaan. Cukup perbarui konfigurasi API, termasuk base_url, api_key, dan ID model, sambil tetap menggunakan antarmuka Chat Completions yang sudah familier.
Misalnya, kode berikut membaca laporan lokal dari report.txt, mengirimkan isinya ke Kimi K3.1 Pro untuk diringkas, lalu melakukan streaming respons yang dihasilkan:
Di sini, client menggunakan kembali klien Kimi yang sebelumnya diinisialisasi dengan kunci API Anda yang dibaca dari variabel lingkungan. Pilih base URL sesuai wilayah Anda: https://api.moonshot.ai/v1 untuk platform internasional atau https://api.moonshot.cn/v1 untuk pengguna yang mengakses API di Tiongkok daratan.
Pendekatan ini memungkinkan Anda mempertahankan alur kerja OpenAI SDK yang sudah ada sambil menggunakan model Kimi untuk tugas seperti peringkasan dokumen dan aplikasi lain yang didukung API.
Keunggulan Kimi
Model andalan dengan jendela konteks 1 juta token: Kimi K3.1 Pro mendukung jendela konteks hingga 1 juta token dan pemahaman visual bawaan. Pengembang dapat menangani basis kode yang luas, dokumen sepanjang buku, dan input gambar dalam satu alur kerja, sehingga cocok untuk penalaran kompleks, pengodean, dan aplikasi multimodal.
Optimasi biaya yang fleksibel: Kimi API mendukung cache konteks otomatis untuk prefiks permintaan yang berulang serta inferensi Batch API untuk tugas berskala besar yang tidak memerlukan respons real-time. Biaya cache dan harga Batch bergantung pada model serta aturan harga yang berlaku. Lihat harga resmi Kimi API untuk tarif dan detail penagihan terkini.
Kompatibilitas di berbagai ekosistem API: Kimi menyediakan endpoint Chat Completions dan Responses API yang kompatibel dengan OpenAI, serta endpoint yang kompatibel dengan Anthropic Messages. Pengembang dapat mengintegrasikan Kimi K3.1 Pro ke alur kerja yang ada menggunakan SDK dan format API yang familier, dengan penyesuaian berdasarkan endpoint serta fitur yang didukung.
Kesimpulan
Memulai dengan Chat Completions API cukup mudah: konfigurasikan kredensial API Anda, kirim permintaan, lalu baca respons yang dihasilkan dari choices[0].message.content. Setelah panggilan API pertama Anda berhasil, Anda dapat mengembangkan integrasi sesuai kebutuhan aplikasi dengan menambahkan percakapan multi-giliran, respons streaming, atau pemanggilan alat. Siap membangun dengan Kimi? Dapatkan kunci Kimi API Anda dan mulailah membuat permintaan API.
FAQ
messages dan mengembalikan respons melalui array choices. Responses API menggunakan struktur input dan output yang lebih fleksibel serta mendukung berbagai jenis konten dan interaksi alat. Pengelolaan status percakapan berbeda menurut penyedia. Dengan Responses API Kimi, aplikasi harus menyertakan riwayat percakapan yang relevan dalam setiap permintaan, alih-alih mengandalkan rangkaian ID respons.base_url menjadi endpoint API Kimi, api_key menjadi kunci Kimi API Anda, dan model menjadi ID model Kimi yang didukung. Setelah itu, uji integrasi Anda untuk memastikan parameter dan fitur yang digunakan aplikasi, seperti streaming dan pemanggilan alat, didukung.



