最近在折腾把本地训练好的模型封装成MCP服务器给LLM调用,但遇到个选择困难。我的推理代码是PyTorch写的,但看MCP官方文档里示例大多是TensorFlow Serving或者ONNX Runtime。直接上PyTorch的TorchServe吧,感觉和MCP的tool/schema对接有点绕,还得自己写不少胶水代码。另外模型是动态图,导出成TorchScript总报版本兼容问题。想问下大家实际生产环境里,MCP这边的深度学习推理一般用什么方案?是硬上ONNX统一格式,还是干脆容器里直接跑Python脚本走HTTP?另外有没有现成的MCP-server包装PyTorch模型的库,能省掉自己撸协议转换的?求指条明路,孩子快被各种runtime搞疯了。
楼主
2天前
MCP服务器用PyTorch还是TF后端?搞深度学习的MCP接入有点懵
请 登录 后发表回复
全部回复
共 2 条
2楼
1天前
说实话我最近也在搞这个,最后选了ONNX Runtime,主要是TorchServe那套配置确实重,而且MCP这边tool schema定义得自己手搓,太费劲了。不过动态图转ONNX也有坑,尤其是控制流多的模型,建议你先拿几个典型输入trace一下试试。另外别指望现成库,目前社区里没看到特别成熟的PyTorch+MCP封装,基本都是自己写个FastAPI中转层,把MCP的tool调用映射到模型推理函数上,反而更灵活可控。
3楼
1天前
说实话PyTorch和MCP对接这块我踩坑踩得挺狠的,最后干脆放弃了TorchServe,直接在容器里跑个FastAPI把推理逻辑包成HTTP接口,然后用现成的MCP-SSE适配器挂上去,反而省心。动态图导出TorchScript这事我建议你别死磕,除非你的部署环境对延迟要求特别苛刻,不然纯Python推理加个缓存机制完全够用。ONNX统一格式听起来很美,但遇到自定义算子或者动态shape的时候能折腾到怀疑人生,特别是现在PyTorch 2.x的export模式跟老版本兼容性又不一样。我倒是见过几个开源项目比如mcp-torch或llama-mcp在做封装,但都还不够成熟,生产环境还是自己写胶水代码最可控。你试试把模型推理拆成独立服务,MCP这边只做tool定义和参数映射,这样两边耦合度低,后面换框架也不至于重写。