Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Redis

5 मिनट में अपना खुद का मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) बनाएं - एक चरण-दर-चरण मार्गदर्शिका

मॉडल संदर्भ प्रोटोकॉल (एमसीपी) स्पष्ट रूप से समझाया गया

<पी> मॉडल संदर्भ प्रोटोकॉल (संक्षेप में एमसीपी) एआई को बाहरी एपीआई, लाइव डेटा और बहुत कुछ से जोड़ने के लिए एक मानकीकृत प्रोटोकॉल है। इसे एंथ्रोपिक द्वारा 2024 के अंत में पेश किया गया था।

<पी> एमसीपी सर्वर को एक उपकरण के रूप में सोचें (उदाहरण के लिए, मौसम डेटा पुनर्प्राप्त करने, पाठ का अनुवाद करने, एपीआई के साथ बातचीत करने के लिए) जिसे एक एआई एजेंट स्वायत्त रूप से कॉल कर सकता है जब उसे उपकरण अपने वर्तमान कार्य के लिए उपयोगी लगता है।

<पी> उदाहरण के लिए, हमारा अपस्टैश एमसीपी कर्सर को आपके डेटाबेस के साथ इंटरैक्ट करने की अनुमति देता है - ऐसा कुछ जो नियमित क्लाउड कभी भी अपने आप करने में सक्षम नहीं होगा। सरल प्राकृतिक भाषा कमांड जैसे "मेरे रेडिस डेटाबेस में XYZ डालें" संभव हो गया क्योंकि MCP इन अनुरोधों को वास्तविक डेटाबेस संचालन में अनुवादित करता है।

मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) उदाहरण

<पी> एमसीपी के जारी होने के बाद से, लोग बाएं और दाएं रचनात्मक उपयोग के मामले लेकर आ रहे हैं। ये किसी भी तरह से कर्सर और कोडिंग तक सीमित नहीं हैं:ब्लेंडर में जटिल एनीमेशन दृश्य जिन्हें स्वयं बनाने में घंटों लगेंगे? बस क्लाउड को MCP के माध्यम से ब्लेंडर तक पहुंच प्रदान करें:

<पी> 5 मिनट में अपना खुद का मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) बनाएं - एक चरण-दर-चरण मार्गदर्शिका

<पी> मेरे लिए, मॉडल कॉन्टेक्स्ट प्रोटोकॉल एआई को इंटरनेट तक पहुंच प्रदान करने के बाद अगला कदम लगता है। लाक्षणिक अर्थ में, यदि इंटरनेट का उपयोग एआई को हथियार और हाथ देने (वास्तव में काम करने के लिए) देने के समान है, तो एमसीपी उसे चलने के लिए पैर देने के समान है।

<पी> वैसे, MCP सर्वर बनाना चुनिंदा कंपनियों या लोगों तक ही सीमित नहीं है। कोई भी अपने स्वयं के MCP के आसपास SaaS बना सकता है, होस्ट कर सकता है या यहां तक कि बना भी सकता है - आइए देखें कैसे।

बेसिक एमसीपी सर्वर कैसे बनाएं

<पी> आइए एक बहुत ही सरल एमसीपी उदाहरण देखें। मान लीजिए कि आप कर्सर को हमारे टूल के साथ टेक्स्ट का अनुवाद करने देने के लिए एक अनुवाद एमसीपी बनाना चाहते हैं। इस एमसीपी की सेवा के लिए आपको बस एक सर्वर और आप जो चाहते हैं उसे करने के लिए एक टूल की आवश्यकता है:

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
 
const server = new McpServer({
 name: "Translation Service",
 version: "1.0.0",
});
 
server.tool(
 "translate",
 {
 text: z.string(),
 targetLanguage: z.enum(["spanish", "french", "german"]),
 },
 async ({ text, targetLanguage }) => {
 // 👉 Here, you'd make an API call to a translation service
 const translatedText = `[Translated: "${text}" to ${targetLanguage}]`;
 
 return {
 content: [{ type: "text", text: translatedText }],
 };
 },
);
<पी> उपरोक्त कोड मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) के बुनियादी सिद्धांतों को प्रदर्शित करता है। हम एक अनुवाद सेवा बना रहे हैं जिसके साथ क्लाउड प्रोग्रामेटिक रूप से इंटरैक्ट कर सकता है।

<पी> हम translate नामक टूल को परिभाषित करते हैं एक ज़ॉड स्कीमा के साथ जो निर्दिष्ट करती है कि यह किन मापदंडों को स्वीकार करता है:

  • text एक स्ट्रिंग के रूप में
  • targetLanguage एक स्ट्रिंग के रूप में (स्पेनिश, फ़्रेंच, या जर्मन तक सीमित)।
<पी> जब कोई एआई सहायक इस टूल को कॉल करता है, तो यह ज़ॉड (एक ओपन-सोर्स स्कीमा सत्यापन लाइब्रेरी) द्वारा लागू आवश्यक पैरामीटर पास करता है, और हमारा फ़ंक्शन उन्हें संसाधित करता है। उत्पादन परिवेश में, आप डीपएल या गूगल ट्रांसलेट जैसी सेवा के लिए प्लेसहोल्डर अनुवाद को वास्तविक एपीआई कॉल से बदल देंगे।

<पी> content: [{ type: "text", text: translatedText }], का प्रतिक्रिया प्रारूप एमसीपी टूल विनिर्देश का पालन करता है और एक संरचना लौटाता है जिसे क्लाउड अपनी प्रतिक्रियाओं के लिए उपयोग कर सकता है। यह मानकीकृत दृष्टिकोण किसी भी MCP-अनुपालक AI को बिना किसी कस्टम एकीकरण कार्य के आपके टूल का उपयोग करने की अनुमति देता है।

<पी> एक ही पैटर्न किसी भी प्रकार के टूल के लिए काम करता है - अनुवाद से लेकर डेटा विश्लेषण, छवि निर्माण, या यहां तक कि स्मार्ट घरेलू उपकरणों को नियंत्रित करना।

हमारा MCP सर्वर चलाना और कर्सर के साथ परीक्षण करना

<पी> अब, अपना MCP सर्वर शुरू करने के लिए, हम transport का उपयोग करने जा रहे हैं :

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
 
const server = new McpServer({
 name: "Translation Service",
 version: "1.0.0",
});
 
server.tool(/* ... */);
 
const transport = new StdioServerTransport();
server.connect(transport);
<पी> ठीक वैसे ही, हमने अपना स्वयं का MCP सर्वर बनाया! 🎉

<पी> हम index.ts के पथ को कॉपी करके स्थानीय रूप से अपने नए एमसीपी का परीक्षण कर सकते हैं फ़ाइल बनाएं और इसे कर्सर से कनेक्ट करें। कर्सर आपको इसके 'एजेंट' मोड को बेहतर बनाने के लिए MCP सर्वर जोड़ने की अनुमति देता है।

  1. कर्सर में, index.ts > Copy Path पर राइट-क्लिक करें . हमें बाद में इसकी आवश्यकता होगी।
  2. कर्सर में MCP सर्वर जोड़ने के लिए, Cursor Settings > Features > MCP पर जाएं और + Add New MCP Server पर क्लिक करें . <पी> 5 मिनट में अपना खुद का मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) बनाएं - एक चरण-दर-चरण मार्गदर्शिका

  3. छोड़ें type command के रूप में .
  4. सर्वर को एक नाम दें, उदाहरण के लिए Translation .
  5. हमारे अनुवाद उपकरण को चलाने के लिए कमांड दर्ज करें:npx tsx <path-to-file> . <पी> 5 मिनट में अपना खुद का मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) बनाएं - एक चरण-दर-चरण मार्गदर्शिका

<पी> कर्सर अब हमारे MCP सर्वर और सभी उपलब्ध टूल को पहचानता है। हमारे लिए, यह translate है उपकरण हमने बनाया।

<पी> 5 मिनट में अपना खुद का मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) बनाएं - एक चरण-दर-चरण मार्गदर्शिका

<पी> इसे आज़माने के लिए, एजेंटिक चैट खोलें। कर्सर अब हमारे टूल के बारे में जानता है और अनुवाद कार्यों के लिए स्वचालित रूप से इसका उपयोग करेगा।

<पी> ध्यान दें:इस उदाहरण में, हमारा टूल वास्तव में अनुवाद नहीं कर रहा है, बल्कि अनुवाद का मज़ाक उड़ा रहा है। क्लाउड वास्तविक अनुवाद के साथ प्रतिक्रिया देता है। <पी> 5 मिनट में अपना खुद का मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) बनाएं - एक चरण-दर-चरण मार्गदर्शिका

अन्य एमसीपी उपयोग मामले

<पी> इस लेख को लिखते समय, मेरे मन में एमसीपी सर्वर बनाने के लिए कुछ विचार आए। इनमें से कुछ को स्टैंडअलोन सेवाओं के रूप में मुद्रीकृत करना भी उचित हो सकता है:

  • एक एमसीपी कोड स्क्रीनशॉट टूल
  • सर्वोत्तम प्रथाओं, कमजोरियों और बगों के लिए पीढ़ियों की जांच करने के लिए एक एमसीपी उपकरण
  • एक एमसीपी परीक्षण जनरेटर
<पी> आप संभवतः अपने स्वयं के विचार भी लेकर आ सकते हैं। आख़िरकार, एमसीपी एलएलएम के लिए एपीआई बनाने जैसा लगता है।

अपस्टैश एमसीपी

<पी> हम आपके अपस्टैश खाते के साथ बातचीत करने के लिए प्राकृतिक भाषा का उपयोग करने के लिए अपना स्वयं का ओपन सोर्स अपस्टैश एमसीपी प्रदान करते हैं, उदाहरण के लिए:

  • "us-east-1 में एक नया रेडिस डेटाबेस बनाएं"
  • "मेरे डेटाबेस सूचीबद्ध करें"
  • "मेरे उपयोगकर्ता-डीबी में "उपयोगकर्ता:" से शुरू होने वाली सभी कुंजियाँ दिखाएँ"
  • "बैकअप बनाएं"
  • "मुझे पिछले 7 दिनों के थ्रूपुट स्पाइक्स दिखाओ"
<पी> बस निम्नलिखित कमांड को कर्सर के Add MCP Server में पेस्ट करें :

npx -y @upstash/mcp-server run <UPSTASH_EMAIL> <UPSTASH_API_KEY>
<पी> सेटअप में 60 सेकंड या उससे कम समय लगता है, यहां और पढ़ें:https://github.com/upstash/mcp-server

<पी> पढ़ने के लिए शुभकामनाएँ! यदि आपकी कोई प्रतिक्रिया है या आप अपस्टैश पर अतिथि लेखक बनना चाहते हैं, तो मुझे josh@upstash.com पर एक पंक्ति लिखें 🙌


  1. Matplotlib में ग्राफ़ k-NN निर्णय सीमाएँ Matplotlib में ग्राफ़ k-NN निर्णय सीमाएँ

    Matplotlib में ग्राफ़ k-NN निर्णय सीमाएँ बनाने के लिए, हम निम्नलिखित कदम उठा सकते हैं। कदम फिगर साइज सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग को एडजस्ट करें। वैरिएबल n_पड़ोसी को इनिशियलाइज़ करें पड़ोसियों की संख्या के लिए। लोड करें और आइरिस लौटाएं डेटासेट (वर्गीकरण)। बनाएं x और y डेट

  1. एचटीएमएल  ol  विशेषता शुरू करें एचटीएमएल <ol> विशेषता शुरू करें

    एलिमेंट की स्टार्ट एट्रिब्यूट का इस्तेमाल पहली लिस्ट आइटम के स्टार्ट वैल्यू को सेट करने के लिए किया जाता है। सिंटैक्स निम्नलिखित है- ऊपर, num पहली सूची आइटम के प्रारंभ मान के लिए निर्धारित संख्या है। आइए अब तत्व की प्रारंभ विशेषता को लागू करने के लिए एक उदाहरण देखें- उदाहरण अंतिम सेमेस्टर एमसीए प

  1. एचटीएमएल डोम स्टाइल मार्जिनराइट प्रॉपर्टी एचटीएमएल डोम स्टाइल मार्जिनराइट प्रॉपर्टी

    HTML DOM स्टाइल मार्जिनराइट प्रॉपर्टी HTML डॉक्यूमेंट में किसी एलीमेंट के राइट मार्जिन को लौटाती है और संशोधित करती है। सिंटैक्स निम्नलिखित वाक्य रचना है - रिटर्निंग मार्जिनराइट object.style.marginRight मार्जिन संशोधित करनादायाँ object.style.marginRight = “value” उदाहरण आइए स