工具可以通过采样(生成文本)与大型语言模型(LLMs)进行交互。
采样sampling演示:mcp服务端通过上下文来回调客户端的大模型,得到结果。
服务端代码:
"""6.5 【上下文类】Context 大模型sampling服务端开发"""
from mcp import SamplingMessage
from mcp.server.fastmcp import FastMCP,Context
from mcp.types import TextContent
#创建mcp实例
mcp = FastMCP("Context with sampling MCP Server")
@mcp.tool()
async def sampling_tool(ctx:Context):
"""
大模型sampling服务端开发
:param ctx: 上下文类
:return: 处理完成
"""
response = await ctx.session.create_message(
messages=[
SamplingMessage(
role="user",
content = TextContent(
text="帮我编写一个小学放假通知的文章,字数在100-200字之间。",
type="text",
)
)
],max_tokens=1024
)
#打印response
print("response:",response)
return "大模型sampling回调完成"
if __name__ == '__main__':
print("MCP Server is running...")
mcp.run(transport='sse')
客户端代码:
import asyncio
import json
from contextlib import AsyncExitStack
from typing import Optional
from mcp import ClientSession
from mcp.server.fastmcp import Context
from mcp.types import CreateMessageRequestParams, CreateMessageResult, TextContent
f

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



