仿生人MCP服务
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# server.py
|
||||
|
||||
import logging
|
||||
|
||||
from fastmcp import FastMCP
|
||||
|
||||
from db.milvus import get_knowledge_by_key_words
|
||||
|
||||
logger = logging.getLogger("room_knowledge_mcp")
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
# 固定知识库ID
|
||||
ROOM_KN_ID = "21bc9fd3-9c11-4564-a420-ba91e30c75f0"
|
||||
|
||||
|
||||
def register_room_knowledge_tools(mcp: FastMCP):
|
||||
@mcp.tool()
|
||||
def query_room_knowledge(key_words: str) -> dict:
|
||||
"""
|
||||
📘 共育室基本知识查询工具
|
||||
|
||||
功能:
|
||||
用于查询与“共育室”相关的知识内容,供客服或内部系统参考。
|
||||
知识库内容包含蚕房共育室的功能、参数、特点、预算、智能控制逻辑等基础信息。
|
||||
|
||||
参数:
|
||||
key_words: 查询关键词(如 “共育室温度预警设置范围” 或 “共育室作用”)
|
||||
|
||||
返回:
|
||||
- success: 是否成功
|
||||
- topic: 固定主题 "共育室基本知识"
|
||||
- result: 匹配到的知识内容文本
|
||||
- error: 错误信息(如有)
|
||||
"""
|
||||
try:
|
||||
logger.info(f"🧭 查询共育室知识: key_words='{key_words}'")
|
||||
|
||||
# 强制使用共育室的知识库ID
|
||||
kn_ids = [ROOM_KN_ID]
|
||||
|
||||
# 检索知识内容
|
||||
text = get_knowledge_by_key_words(key_words, kn_ids)
|
||||
|
||||
if not text.strip() or "未找到" in text:
|
||||
return {
|
||||
"success": False,
|
||||
"topic": "共育室基本知识",
|
||||
"result": None,
|
||||
"error": f"未找到与关键词 '{key_words}' 相关的共育室知识。",
|
||||
}
|
||||
|
||||
return {
|
||||
"success": True,
|
||||
"topic": "共育室基本知识",
|
||||
"result": text,
|
||||
"error": None,
|
||||
}
|
||||
|
||||
except Exception as e:
|
||||
logger.exception("❌ 共育室知识查询出错")
|
||||
return {
|
||||
"success": False,
|
||||
"topic": "共育室基本知识",
|
||||
"result": None,
|
||||
"error": str(e),
|
||||
}
|
||||
Reference in New Issue
Block a user