mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
fix: AI dialogue node calls MCP, AI's reply content is included in the code block of MCP call result, markdown parsing error #3846 (#3894)
This commit is contained in:
parent
c74352046b
commit
141de353ea
|
|
@ -11,7 +11,6 @@ import json
|
|||
import re
|
||||
import time
|
||||
from functools import reduce
|
||||
from types import AsyncGeneratorType
|
||||
from typing import List, Dict
|
||||
|
||||
from django.db.models import QuerySet
|
||||
|
|
@ -33,13 +32,25 @@ tool_message_template = """
|
|||
<strong>Called MCP Tool: <em>%s</em></strong>
|
||||
</summary>
|
||||
|
||||
```json
|
||||
%s
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
"""
|
||||
|
||||
tool_message_json_template = """
|
||||
```json
|
||||
%s
|
||||
```
|
||||
"""
|
||||
|
||||
|
||||
def generate_tool_message_template(name, context):
|
||||
if '```' in context:
|
||||
return tool_message_template % (name, context)
|
||||
else:
|
||||
return tool_message_template % (name, tool_message_json_template % (context))
|
||||
|
||||
|
||||
def _write_context(node_variable: Dict, workflow_variable: Dict, node: INode, workflow, answer: str,
|
||||
reasoning_content: str):
|
||||
|
|
@ -109,7 +120,7 @@ async def _yield_mcp_response(chat_model, message_list, mcp_servers):
|
|||
response = agent.astream({"messages": message_list}, stream_mode='messages')
|
||||
async for chunk in response:
|
||||
if isinstance(chunk[0], ToolMessage):
|
||||
content = tool_message_template % (chunk[0].name, chunk[0].content)
|
||||
content = generate_tool_message_template(chunk[0].name, chunk[0].content)
|
||||
chunk[0].content = content
|
||||
yield chunk[0]
|
||||
if isinstance(chunk[0], AIMessageChunk):
|
||||
|
|
|
|||
|
|
@ -297,7 +297,6 @@ function clickNodes(item: any) {
|
|||
x: anchorData.value?.x + width / 2 + 200,
|
||||
y: anchorData.value?.y - item.height
|
||||
})
|
||||
console.log(nodeModel)
|
||||
props.nodeModel.graphModel.addEdge({
|
||||
type: 'app-edge',
|
||||
sourceNodeId: props.nodeModel.id,
|
||||
|
|
|
|||
Loading…
Reference in New Issue