Nembak API untuk LLM: Cepat dan Tangkas
Jangan pakai LangChain, LlamaIndex, Haystack, dll kalau ngoding LLM!
Selama masih dalam fasa belajar, lebih penting paham pondasi dan pilar utama dulu, dibandingkan main comot segala macam framework tapi entar bingung sendiri. Apalagi LLM itu sesuatu yang mudah sekali diakses.
Ini contoh nembak API LLM hanya dengan Thunder Client di VS Code. Sama juga kalau mau pakai Postman, Insomnia, Bruno. Bahkan nggak monopoli OpenAI juga, mau pakai LLM yang lain, cloud atau lokal, juga sama aja!
Pada dasarnya arsitektur aplikasi yang menggunakan LLM itu bisa dilukiskan seperti ini.
App = bisa chatbot, mesin pencari, asisten ngoding, dsb. Komunikasinya dengan LLM sangat lazim menggunakan RESTful API yang biasa aja: ada URL, pakai POST, trus JSON di body. Untuk kunci API, dijebloskan sebagai Bearer. Pokoknya nggak ada yang aneh.
Kalau bisa tanpa makelar seperti ini, ngapain kita dikadalin?
Jangan lupa, API yang "de facto" untuk mengakses LLM itu sudah sangat jadi standar. Mau pakai OpenAI atau Gemini atau jalanin LLM di mesin lokal, sama aja cara aksesnya. Hal ini sempat saya jabarkan lebih rinci di utas sebelumnya, Mufakat dalam Merangkul LLM.
Gimana penerapannya di dalam kodingan kita? Lagi-lagi, ini cuman eksekusi HTTP biasa.
Buat fans JavaScript, sudah lama ada fetch
. Tinggal dibuat seperti ini. Yang setia dengan Python, kurleb sama lah, bisa pakai urllib.request
. Sama juga dengan bahasa lain (Go, Clojure, Swift). Saking mendasarnya, nembak server itu nggak perlu pustaka luar (3rd party library).
Bila hendak melihat contoh yang lebih lengkap, sudah saya ilustrasikan di kumpulan contoh di proyek yang satu ini: github.com/ariya/ask-llm. Ada kodingan pakai berbagai jenis bahasa: JavaScript, Python, Clojure, Go, dan Swift. Panjangnya rata-rata 100-an baris saja, bisalah dikunyah dan dicerna sambil ngopi menjelang senja.
Kalau belum hanya hardware yang mumpuni, silakan memanfaatkan LLMaaS (LLM as a Service). Banyak pilihan, dan beberapa menawarkan akses coba-coba tanpa biaya (free tier). Contoh program ask-llm
yang saya sebutkan barusan bisa dikonfigurasi untuk nembak API dari lusinan pilihan LLMaaS yang ada. Kalau bingung mau pakai yang mana, perhatikan saja tulisan sebelumnya, Ulasan Jujur Lusinan LLMaaS.
Begitu mahir nembak langsung, mari selanjutnya kita kupas rahasia di balik bikin CoT (Chain of Thought), yang jadi modal besar untuk mulai melangkah ke dunia RAG (Retrieval-Augmented Generation). Nantikan terus!
Saya pernah berkicau soal tema di atas, dalam sebuah utas Thread.