125 lines
6.7 KiB
Markdown
125 lines
6.7 KiB
Markdown
# ការអនុវត្ត Model Context Protocol (MCP) ជា Python
|
|
|
|
Repository នេះមានអនុវត្តន៍ Model Context Protocol (MCP) ជា Python ដែលបង្ហាញពីរបៀបបង្កើតកម្មវិធីទាំងម៉ាស៊ីនមួយ និងកម្មវិធីអតិថិជនមួយ ដែលទំនាក់ទំនងគ្នាតាមស្តង់ដារ MCP។
|
|
|
|
## ទិដ្ឋភាពទូទៅ
|
|
|
|
ការអនុវត្ត MCP សម្រុកពីជាផ្នែកសំខាន់ពីរដូចជា៖
|
|
|
|
1. **ម៉ាស៊ីន MCP (`server.py`)** - ម៉ាស៊ីនមួយដែលបង្ហាញ៖
|
|
- **ឧបករណ៍**: មុខងារដែលអាចហៅពីចម្ងាយបាន
|
|
- **ធនធាន**: ទិន្នន័យដែលអាចទាញយកបាន
|
|
- **ការជំរុញ**: គំរូសម្រាប់បង្កើតការជំរុញសម្រាប់គំរូភាសា
|
|
|
|
2. **អតិថិជន MCP (`client.py`)** - កម្មវិធីអតិថិជនដែលភ្ជាប់ទៅម៉ាស៊ីន និងប្រើប្រាស់មុខងាររបស់វា
|
|
|
|
## មុខងារ
|
|
|
|
ការអនុវត្តនេះបង្ហាញពីមុខងារ MCP សំខាន់ៗជាច្រើន៖
|
|
|
|
### ឧបករណ៍
|
|
- `completion` - បង្កើតការបញ្ចប់អត្ថបទពីគំរូ AI (កំពុងស្ទាង)
|
|
- `add` - ម៉ាស៊ីនគណនារងមានសាមញ្ញ ដែលបូកលេខពីរប្រមាណ
|
|
|
|
### ធនធាន
|
|
- `models://` - ត្រឡប់ព័ត៌មានអំពីគំរូ AI មាននៅ
|
|
- `greeting://{name}` - ត្រឡប់ការស្វាគមន៍ផ្ទាល់ខ្លួនសម្រាប់ឈ្មោះណាមួយ
|
|
|
|
### ការជំរុញ
|
|
- `review_code` - បង្កើតការជំរុញសម្រាប់ពិនិត្យកូដ
|
|
|
|
## ការដំឡើង
|
|
|
|
ដើម្បីប្រើប្រាស់ការអនុវត្ត MCP នេះ សូមដំឡើងកញ្ចប់ដែលត្រូវការ៖
|
|
|
|
```powershell
|
|
pip install mcp-server mcp-client
|
|
```
|
|
|
|
## ការរត់ម៉ាស៊ីន និង អតិថិជន
|
|
|
|
### ការចាប់ផ្តើមម៉ាស៊ីន
|
|
|
|
រត់ម៉ាស៊ីនក្នុងបង្អួច terminal មួយ៖
|
|
|
|
```powershell
|
|
python server.py
|
|
```
|
|
|
|
ម៉ាស៊ីនក៏អាចរត់ក្នុងរបៀបអភិវឌ្ឍន៍ដោយប្រើ MCP CLI៖
|
|
|
|
```powershell
|
|
mcp dev server.py
|
|
```
|
|
|
|
ឬដំឡើងនៅក្នុង Claude Desktop (បើមាន)៖
|
|
|
|
```powershell
|
|
mcp install server.py
|
|
```
|
|
|
|
### ការរត់អតិថិជន
|
|
|
|
រត់អតិថិជនមួយនៅក្នុងបង្អួច terminal ផ្សេងទៀត៖
|
|
|
|
```powershell
|
|
python client.py
|
|
```
|
|
|
|
នេះនឹងភ្ជាប់ទៅម៉ាស៊ីន និងបង្ហាញមុខងារទាំងអស់ដែលមាន។
|
|
|
|
### ការប្រើប្រាស់អតិថិជន
|
|
|
|
អតិថិជន (`client.py`) បង្ហាញពីសមត្ថភាព MCP ទាំងអស់៖
|
|
|
|
```powershell
|
|
python client.py
|
|
```
|
|
|
|
នេះនឹងភ្ជាប់ទៅម៉ាស៊ីន និងប្រើប្រាស់មុខងារទាំងអស់ រួមទាំងឧបករណ៍, ធនធាន និងការជំរុញ។ លទ្ធផលនឹងបង្ហាញ៖
|
|
|
|
1. លទ្ធផលឧបករណ៍គណនារង (5 + 7 = 12)
|
|
2. ចម្លើយឧបករណ៍បញ្ចប់ទៅ "What is the meaning of life?"
|
|
3. បញ្ជីគំរូ AI មាននៅ
|
|
4. ស្វាគមន៍ផ្ទាល់ខ្លួនសម្រាប់ "MCP Explorer"
|
|
5. គំរូការជំរុញពិនិត្យកូដ
|
|
|
|
## ព័ត៌មានលំអិតអំពីការអនុវត្ត
|
|
|
|
ម៉ាស៊ីនត្រូវបានអនុវត្តដោយប្រើ API `FastMCP` ដែលផ្តល់ជូននូវការបង្ហាញកម្រិតខ្ពស់សម្រាប់កំណត់សេវាកម្ម MCP។ នេះគឺជាឧទាហរណ៍សាមញ្ញពីរបៀបកំណត់ឧបករណ៍៖
|
|
|
|
```python
|
|
@mcp.tool()
|
|
def add(a: int, b: int) -> int:
|
|
"""Add two numbers together
|
|
|
|
Args:
|
|
a: First number
|
|
b: Second number
|
|
|
|
Returns:
|
|
The sum of the two numbers
|
|
"""
|
|
logger.info(f"Adding {a} and {b}")
|
|
return a + b
|
|
```
|
|
|
|
អតិថិជនប្រើបណ្ណាល័យអតិថិជន MCP ដើម្បីភ្ជាប់ និងហៅម៉ាស៊ីន៖
|
|
|
|
```python
|
|
async with stdio_client(server_params) as (reader, writer):
|
|
async with ClientSession(reader, writer) as session:
|
|
await session.initialize()
|
|
result = await session.call_tool("add", arguments={"a": 5, "b": 7})
|
|
```
|
|
|
|
## រៀនបន្ថែម
|
|
|
|
សម្រាប់ព័ត៌មានបន្ថែមអំពី MCP សូមទៅកាន់៖ https://modelcontextprotocol.io/
|
|
|
|
---
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
**ការបដិសេធ**៖
|
|
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះបីយើងព្យាយាមរក្សាភាពត្រឹមត្រូវក៏ដោយ សូមយល់ថា ការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬច្រឡំបាន។ ឯកសារដើមដែលមានជាភាសាមាតុភូមិគួរត្រូវបានគេយកជាឯកសារដែលមានអត្ថន័យត្រឹមត្រូវបំផុត។ សម្រាប់ព័ត៌មានសារៈសំខាន់ យើងណែនាំឱ្យប្រើការបកប្រែដោយមនុស្សជំនាញវិជ្ជាជីវៈ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសពីការប្រើប្រាស់ការបកប្រែនេះទេ។
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |