- Tim Node.js Red Hat bereksperimen dengan cara mengintegrasikan LLM dengan Node.js dan TypeScript/JavaScript
- Membandingkan beberapa framework dengan fokus khusus pada pemanggilan tool/function dan cara kerja agen
- Menganalisis fitur Llama Stack yang baru dirilis serta kemungkinan integrasinya dengan Node.js
Cara menyiapkan dan menjalankan Llama Stack
- Llama Stack adalah framework modular yang mendistribusikan berbagai implementasi dengan tujuan standardisasi API
- Saat menggunakan kontainer berbasis Ollama, tersedia cara menjalankan yang paling mudah
- Pengaturan server melalui contoh skrip eksekusi:
- Model:
meta-llama/Llama-3.1-8B-Instruct
- Port:
8321
- IP server Ollama:
10.1.2.38
- Model harus dijalankan terlebih dahulu di Ollama, dan perlu digunakan setidaknya sekali sehari untuk menjaga keepalive
- Melalui endpoint dokumentasi (
/docs), Anda dapat melihat skema API dan melakukan pengujian interaktif
Contoh aplikasi Node.js pertama
- Menggunakan library
llama-stack-client-typescript untuk berkomunikasi dengan Llama Stack
- Mendefinisikan dua tool:
favorite_color_tool: menyediakan informasi warna berdasarkan kota/negara
favorite_hockey_tool: menyediakan informasi tim hoki es berdasarkan kota/negara
- Menguji alur pemanggilan tool melalui skenario pertanyaan
- Masalah awal: ketika informasi yang dibutuhkan tidak ada di tool, prompt panduan yang jelas tidak ditampilkan
- Solusi: dengan menyisipkan kata "assistant" pada pesan respons, alurnya menjadi lebih alami
Cara Llama Stack menangani pemanggilan tool
- Saat menggunakan API
chatCompletion(), pemanggilan tool perlu ditangani secara langsung
- Fungsi
handleResponse() mendeteksi permintaan tool dan mengirimkan hasilnya kembali sebagai pesan
tool_choice secara default disetel ke "auto", tetapi jika ada tool, sistem cenderung kuat untuk mencoba memakainya
- Diamati bahwa meskipun pertanyaan tidak terkait dengan tool, sistem bisa menyerah menggunakan tool dan memprosesnya sebagai ‘tidak bisa menjawab’
Eksperimen integrasi MCP dan Llama Stack
- Melalui MCP(Model Context Protocol), tool dapat di-host di server eksternal dan dibagikan ke berbagai framework
- Server MCP menggunakan Supergateway untuk menjembatani server berbasis stdio ke metode SSE
- Setelah server MCP didaftarkan, tool MCP dapat dipanggil otomatis dengan menggunakan API agent Llama Stack
- API agent:
- Menangani status dan manajemen pesan secara otomatis
- Menjalankan alur pemanggilan tool secara internal di dalam framework
- Namun, log pemanggilan tool tidak bisa dilihat langsung; hanya respons akhir yang dapat diperiksa
Pemanfaatan MCP untuk akses lingkungan lokal
- Server MCP dapat dijalankan secara lokal dengan metode stdio lalu dihubungkan ke Llama Stack
- Diperlukan kode untuk mengonversi JSON definisi tool dari server MCP ke format yang kompatibel dengan Llama Stack
- Melalui
mcpClient.callTool(), hasil tool dapat dikembalikan di dalam alur respons LLM
- Dengan ini, skenario akses ke lingkungan aplikasi lokal dapat diimplementasikan tanpa server terpusat
Penutup
- Melakukan praktik integrasi LLM dan pemanggilan tool melalui Llama Stack di lingkungan Node.js
- Menyediakan berbagai contoh pemanfaatan melalui tool lokal, MCP jarak jauh, dan MCP lokal
- Secara khusus menyajikan contoh kode dan alur yang praktis bagi pengembang JavaScript/TypeScript
- Menjadi titik awal yang bermanfaat bagi pengembang yang ingin mengintegrasikan LLM dengan Node.js ke depannya
Materi tambahan
Belum ada komentar.