85 lines
3.6 KiB
Markdown
85 lines
3.6 KiB
Markdown
# உதாரணம்
|
|
|
|
இது MCP சர்வருக்கான ஒரு ஜாவாஸ்கிரிப்ட் உதாரணம்
|
|
|
|
இங்கே ஒரு கருவி பதிவு செய்யும் உதாரணம் உள்ளது, இதில் நாம் ஒரு கருவியை பதிவு செய்கிறோம், அது ஒரு LLM-க்கு mock அழைப்பு செய்கிறது:
|
|
|
|
```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
|
|
```
|
|
|
|
---
|
|
|
|
**குறிப்பு**:
|
|
இந்த ஆவணம் [Co-op Translator](https://github.com/Azure/co-op-translator) என்ற AI மொழிபெயர்ப்பு சேவையைப் பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயற்சிக்கிறோம், ஆனால் தானியக்க மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறான தகவல்கள் இருக்கக்கூடும் என்பதை தயவுசெய்து கவனத்தில் கொள்ளுங்கள். அதன் தாய்மொழியில் உள்ள மூல ஆவணம் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பல்ல. |