This commit is contained in:
liubiren 2026-09-07 19:59:52 +08:00
parent 714675cf5b
commit d9622ab6b3
5 changed files with 11 additions and 15 deletions

View File

@ -371,6 +371,7 @@ def thinking(item: MessageHistoryItem) -> rx.Component:
item.title,
font_size="var(--prismui-font-size-1)",
color="var(--prismui-color-3)",
class_name=rx.cond(item.is_running, "is_running", None),
),
rx.icon(
"chevron-right",
@ -455,9 +456,9 @@ def tool_call(item: MessageHistoryItem) -> rx.Component:
)
def output(item: MessageHistoryItem) -> rx.Component:
def text(item: MessageHistoryItem) -> rx.Component:
"""
输出
文本
:return: Component
"""
return rx.markdown(
@ -584,7 +585,7 @@ def message_history_item(item: MessageHistoryItem) -> rx.Component:
(MessageType.USER_PROMPT, user_prompt(item)),
(MessageType.THINKING, thinking(item)),
(MessageType.TOOL_CALL, tool_call(item)),
(MessageType.OUTPUT, output(item)),
(MessageType.TEXT, text(item)),
),
padding="0 16px",
width="100%",

View File

@ -348,7 +348,6 @@ class ConversationState(rx.State):
# 若等待流式输出则将等待流式输出设置为否
if conversation.awaiting_stream:
conversation.awaiting_stream = False
print(event)
match event:
# ========== 开始事件 ==========
case PartStartEvent(
@ -388,7 +387,7 @@ class ConversationState(rx.State):
# 文本分片
case TextPart(content=content):
# 构建消息实例
message = Message(type=MessageType.OUTPUT, content=content)
message = Message(type=MessageType.TEXT, content=content)
# 添加至消息字典
conversation.messages[message.id] = message
# 将消息实例唯一标识与片段索引映射
@ -466,7 +465,7 @@ class ConversationState(rx.State):
case AgentRunEvent(content=content):
# 构建消息实例
message = Message(
type=MessageType.OUTPUT,
type=MessageType.TEXT,
content=content,
)
# 添加至消息字典

View File

@ -38,7 +38,7 @@ class MessageType(StrEnum):
USER_PROMPT = "user_prompt"
THINKING = "thinking"
TOOL_CALL = "tool_call"
OUTPUT = "output"
TEXT = "text"
class Message(BaseModel):

View File

@ -18,6 +18,7 @@ from pydantic_ai import (
RunUsage,
UsageLimits,
)
from pydantic_ai.agent.abstract import S
from pydantic_ai.messages import (
AgentStreamEvent,
FunctionToolResultEvent,
@ -26,6 +27,7 @@ from pydantic_ai.messages import (
ToolReturnPart,
)
from pydantic_ai.run import AgentRunResult, AgentRunResultEvent
from reflex.event import T
from application.states.models import AgentRunEvent, NoResult
from application.workshop.models import (
@ -342,12 +344,6 @@ async def run_stream_events(
case Flight():
yield AgentRunEvent(content="预定成功")
case DeferredToolRequests(approvals=approvals):
yield AgentRunResultEvent(
result=AgentRunResult(
output=DeferredToolRequests(
approvals=approvals
)
)
)
case DeferredToolRequests(approvals=approvals) as t:
t.metadata = {"1": {"Success": "1"}}
yield event

Binary file not shown.