This commit is contained in:
parent
714675cf5b
commit
d9622ab6b3
|
|
@ -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%",
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
)
|
||||
# 添加至消息字典
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ class MessageType(StrEnum):
|
|||
USER_PROMPT = "user_prompt"
|
||||
THINKING = "thinking"
|
||||
TOOL_CALL = "tool_call"
|
||||
OUTPUT = "output"
|
||||
TEXT = "text"
|
||||
|
||||
|
||||
class Message(BaseModel):
|
||||
|
|
|
|||
|
|
@ -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.
Loading…
Reference in New Issue