Files
2025-11-05 18:04:36 +08:00

67 lines
2.1 KiB
Python

# 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),
}