83 lines
3.1 KiB
Markdown
83 lines
3.1 KiB
Markdown
# নমুনা
|
|
|
|
এটি একটি MCP সার্ভারের জন্য একটি JavaScript নমুনা
|
|
|
|
এখানে একটি টুল রেজিস্ট্রেশনের উদাহরণ দেওয়া হয়েছে যেখানে আমরা একটি টুল রেজিস্টার করি যা LLM-এ একটি মক কল করে:
|
|
|
|
```javascript
|
|
this.mcpServer.tool(
|
|
'completion',
|
|
{
|
|
model: z.string(),
|
|
prompt: z.string(),
|
|
options: z.object({
|
|
temperature: z.number().optional(),
|
|
max_tokens: z.number().optional(),
|
|
stream: z.boolean().optional()
|
|
}).optional()
|
|
},
|
|
async ({ model, prompt, options }) => {
|
|
console.log(`Processing completion request for model: ${model}`);
|
|
|
|
// Validate model
|
|
if (!this.models.includes(model)) {
|
|
throw new Error(`Model ${model} not supported`);
|
|
}
|
|
|
|
// Emit event for monitoring/metrics
|
|
this.events.emit('request', {
|
|
type: 'completion',
|
|
model,
|
|
timestamp: new Date()
|
|
});
|
|
|
|
// In a real implementation, this would call an AI model
|
|
// Here we just echo back parts of the request with a mock response
|
|
const response = {
|
|
id: `mcp-resp-${Date.now()}`,
|
|
model,
|
|
text: `This is a response to: ${prompt.substring(0, 30)}...`,
|
|
usage: {
|
|
promptTokens: prompt.split(' ').length,
|
|
completionTokens: 20,
|
|
totalTokens: prompt.split(' ').length + 20
|
|
}
|
|
};
|
|
|
|
// Simulate network delay
|
|
await new Promise(resolve => setTimeout(resolve, 500));
|
|
|
|
// Emit completion event
|
|
this.events.emit('completion', {
|
|
model,
|
|
timestamp: new Date()
|
|
});
|
|
|
|
return {
|
|
content: [
|
|
{
|
|
type: 'text',
|
|
text: JSON.stringify(response)
|
|
}
|
|
]
|
|
};
|
|
}
|
|
);
|
|
```
|
|
|
|
## ইনস্টল
|
|
|
|
নিম্নলিখিত কমান্ডটি চালান:
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
## চালান
|
|
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
**অস্বীকৃতি**:
|
|
এই নথিটি AI অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। আমরা যথাসাধ্য সঠিকতার চেষ্টা করি, তবে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল নথিটি তার নিজস্ব ভাষায়ই কর্তৃত্বপূর্ণ উৎস হিসেবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ গ্রহণ করার পরামর্শ দেওয়া হয়। এই অনুবাদের ব্যবহারে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই। |