|
@@ -35,8 +35,8 @@ def create_mcp_server() -> Server:
|
|
async def call_tool(name: str, arguments: Dict[str, Any]) -> List[types.TextContent]:
|
|
async def call_tool(name: str, arguments: Dict[str, Any]) -> List[types.TextContent]:
|
|
"""处理工具调用"""
|
|
"""处理工具调用"""
|
|
# ctx = app.request_context
|
|
# ctx = app.request_context
|
|
- if name == "chat-detail":
|
|
|
|
- data = await chat_detail(arguments["query_text"])
|
|
|
|
|
|
+ if name == "rag-search":
|
|
|
|
+ data = await rag_search(arguments["query_text"])
|
|
result = json.dumps(data, ensure_ascii=False, indent=2)
|
|
result = json.dumps(data, ensure_ascii=False, indent=2)
|
|
else:
|
|
else:
|
|
raise ValueError(f"Unknown tool: {name}")
|
|
raise ValueError(f"Unknown tool: {name}")
|
|
@@ -46,7 +46,7 @@ def create_mcp_server() -> Server:
|
|
async def list_tools() -> List[types.Tool]:
|
|
async def list_tools() -> List[types.Tool]:
|
|
return [
|
|
return [
|
|
types.Tool(
|
|
types.Tool(
|
|
- name="chat-detail",
|
|
|
|
|
|
+ name="rag-search",
|
|
title = 'RAG搜索',
|
|
title = 'RAG搜索',
|
|
description="搜索内容并生成总结",
|
|
description="搜索内容并生成总结",
|
|
inputSchema={
|
|
inputSchema={
|
|
@@ -66,7 +66,7 @@ def create_mcp_server() -> Server:
|
|
return app
|
|
return app
|
|
|
|
|
|
|
|
|
|
-async def chat_detail(query_text: str) :
|
|
|
|
|
|
+async def rag_search(query_text: str) :
|
|
dataset_id_strs = "11,12"
|
|
dataset_id_strs = "11,12"
|
|
dataset_ids = dataset_id_strs.split(",")
|
|
dataset_ids = dataset_id_strs.split(",")
|
|
search_type = "hybrid"
|
|
search_type = "hybrid"
|
|
@@ -110,13 +110,13 @@ async def chat_detail(query_text: str) :
|
|
data = {
|
|
data = {
|
|
"result": chat_res["summary"],
|
|
"result": chat_res["summary"],
|
|
"status": chat_res["status"],
|
|
"status": chat_res["status"],
|
|
- "metaData": res,
|
|
|
|
|
|
+ "score": chat_res["score"],
|
|
}
|
|
}
|
|
|
|
|
|
await chat_result_mapper.insert_chat_result(
|
|
await chat_result_mapper.insert_chat_result(
|
|
query_text,
|
|
query_text,
|
|
dataset_id_strs,
|
|
dataset_id_strs,
|
|
- json.dumps(data, ensure_ascii=False),
|
|
|
|
|
|
+ json.dumps(res, ensure_ascii=False),
|
|
chat_res["summary"],
|
|
chat_res["summary"],
|
|
chat_res["relevance_score"],
|
|
chat_res["relevance_score"],
|
|
chat_res["status"],
|
|
chat_res["status"],
|