- Red Hat Node.js टीम ने LLM और Node.js, TypeScript/JavaScript इंटीग्रेशन के तरीकों पर प्रयोग किया
- कई frameworks की तुलना करते हुए खास तौर पर tool/function calling और agent के काम करने के तरीके की समीक्षा की
- हाल ही में जारी Llama Stack की क्षमताओं और Node.js के साथ इसके इंटीग्रेशन की संभावनाओं का विश्लेषण किया
Llama Stack को सेटअप और चलाने का तरीका
- Llama Stack API standardization के लक्ष्य के साथ अलग-अलग implementations वितरित करने वाला एक modular framework है
- Ollama आधारित container का उपयोग करने पर इसे चलाने का सबसे आसान तरीका मिलता है
- रन स्क्रिप्ट उदाहरण के जरिए सर्वर सेटिंग:
- मॉडल:
meta-llama/Llama-3.1-8B-Instruct
- पोर्ट:
8321
- Ollama सर्वर IP:
10.1.2.38
- मॉडल को Ollama में पहले से चलाना जरूरी है, और keepalive बनाए रखने के लिए रोज कम-से-कम 1 बार उपयोग करना होगा
- डॉक्यूमेंट endpoint(
/docs) के जरिए API schema और interactive testing संभव है
पहला Node.js application उदाहरण
llama-stack-client-typescript लाइब्रेरी का उपयोग करके Llama Stack के साथ संचार किया जाता है
- दो tools की परिभाषा:
favorite_color_tool: शहर/देश के आधार पर रंग संबंधी जानकारी देता है
favorite_hockey_tool: शहर/देश के आधार पर ice hockey team की जानकारी देता है
- question scenario के जरिए tool calling flow को टेस्ट किया गया
- शुरुआती समस्या: जब tool के लिए जरूरी जानकारी न हो, तो स्पष्ट guiding prompt आउटपुट नहीं होता
- समाधान: response message में "assistant" शब्द जोड़ने से flow अधिक स्वाभाविक हो गया
Llama Stack में tool calling को संभालने का तरीका
chatCompletion() API का उपयोग करते समय tool calling को सीधे संभालना पड़ता है
handleResponse() function के जरिए tool request का पता लगाकर परिणाम को फिर से message के रूप में भेजा जाता है
tool_choice डिफ़ॉल्ट रूप से "auto" पर सेट होता है, लेकिन tool मौजूद होने पर उसे इस्तेमाल करने की प्रवृत्ति मजबूत रहती है
- यह भी देखा गया कि सवाल tool से असंबंधित होने पर भी tool इस्तेमाल करने की कोशिश छोड़कर उसे ‘उत्तर नहीं दिया जा सकता’ के रूप में प्रोसेस कर दिया जाता है
MCP और Llama Stack इंटीग्रेशन का प्रयोग
- MCP(Model Context Protocol) के जरिए tools को external server पर host करके अलग-अलग frameworks के साथ साझा किया जा सकता है
- MCP सर्वर में Supergateway के जरिए stdio आधारित सर्वर को SSE तरीके से bridge किया जाता है
- MCP सर्वर रजिस्टर करने के बाद, Llama Stack agent API का उपयोग करके MCP tools को अपने-आप call किया जा सकता है
- agent API यह करता है:
- state/message management अपने-आप संभालता है
- tool calling flow को framework आंतरिक रूप से निष्पादित करता है
- हालांकि tool calling logs सीधे नहीं देखे जा सकते, केवल अंतिम response ही देखा जा सकता है
लोकल environment तक पहुँच के लिए MCP का उपयोग
- MCP सर्वर को लोकल environment में stdio तरीके से चलाकर Llama Stack से जोड़ा जा सकता है
- MCP सर्वर की tool definition JSON को Llama Stack compatible format में बदलने वाले कोड की जरूरत होती है
mcpClient.callTool() के जरिए LLM response flow के भीतर tool result लौटाया जा सकता है
- इससे centralized server के बजाय local app environment access जैसे scenarios लागू किए जा सकते हैं
समापन
- Node.js environment में Llama Stack के जरिए LLM और tool calling इंटीग्रेशन का व्यावहारिक अभ्यास किया गया
- लोकल tool, remote MCP, और local MCP के जरिए कई उपयोग परिदृश्य प्रस्तुत किए गए
- खास तौर पर JavaScript/TypeScript डेवलपर्स के लिए उपयोगी code examples और flow दिए गए
- आगे LLM और Node.js को इंटीग्रेट करना चाहने वाले डेवलपर्स के लिए यह एक उपयोगी शुरुआती बिंदु है
अतिरिक्त सामग्री
अभी कोई टिप्पणी नहीं है.