|
|
|
@@ -606,36 +606,42 @@ class BaseAssistantApplicationRunner(AppRunner): |
|
|
|
for message in messages: |
|
|
|
result.append(UserPromptMessage(content=message.query)) |
|
|
|
agent_thoughts: list[MessageAgentThought] = message.agent_thoughts |
|
|
|
for agent_thought in agent_thoughts: |
|
|
|
tools = agent_thought.tool |
|
|
|
if tools: |
|
|
|
tools = tools.split(';') |
|
|
|
tool_calls: list[AssistantPromptMessage.ToolCall] = [] |
|
|
|
tool_call_response: list[ToolPromptMessage] = [] |
|
|
|
tool_inputs = json.loads(agent_thought.tool_input) |
|
|
|
for tool in tools: |
|
|
|
# generate a uuid for tool call |
|
|
|
tool_call_id = str(uuid.uuid4()) |
|
|
|
tool_calls.append(AssistantPromptMessage.ToolCall( |
|
|
|
id=tool_call_id, |
|
|
|
type='function', |
|
|
|
function=AssistantPromptMessage.ToolCall.ToolCallFunction( |
|
|
|
if agent_thoughts: |
|
|
|
for agent_thought in agent_thoughts: |
|
|
|
tools = agent_thought.tool |
|
|
|
if tools: |
|
|
|
tools = tools.split(';') |
|
|
|
tool_calls: list[AssistantPromptMessage.ToolCall] = [] |
|
|
|
tool_call_response: list[ToolPromptMessage] = [] |
|
|
|
tool_inputs = json.loads(agent_thought.tool_input) |
|
|
|
for tool in tools: |
|
|
|
# generate a uuid for tool call |
|
|
|
tool_call_id = str(uuid.uuid4()) |
|
|
|
tool_calls.append(AssistantPromptMessage.ToolCall( |
|
|
|
id=tool_call_id, |
|
|
|
type='function', |
|
|
|
function=AssistantPromptMessage.ToolCall.ToolCallFunction( |
|
|
|
name=tool, |
|
|
|
arguments=json.dumps(tool_inputs.get(tool, {})), |
|
|
|
) |
|
|
|
)) |
|
|
|
tool_call_response.append(ToolPromptMessage( |
|
|
|
content=agent_thought.observation, |
|
|
|
name=tool, |
|
|
|
arguments=json.dumps(tool_inputs.get(tool, {})), |
|
|
|
) |
|
|
|
)) |
|
|
|
tool_call_response.append(ToolPromptMessage( |
|
|
|
content=agent_thought.observation, |
|
|
|
name=tool, |
|
|
|
tool_call_id=tool_call_id, |
|
|
|
)) |
|
|
|
|
|
|
|
result.extend([ |
|
|
|
AssistantPromptMessage( |
|
|
|
content=agent_thought.thought, |
|
|
|
tool_calls=tool_calls, |
|
|
|
), |
|
|
|
*tool_call_response |
|
|
|
]) |
|
|
|
tool_call_id=tool_call_id, |
|
|
|
)) |
|
|
|
|
|
|
|
result.extend([ |
|
|
|
AssistantPromptMessage( |
|
|
|
content=agent_thought.thought, |
|
|
|
tool_calls=tool_calls, |
|
|
|
), |
|
|
|
*tool_call_response |
|
|
|
]) |
|
|
|
if not tools: |
|
|
|
result.append(AssistantPromptMessage(content=agent_thought.thought)) |
|
|
|
else: |
|
|
|
if message.answer: |
|
|
|
result.append(AssistantPromptMessage(content=message.answer)) |
|
|
|
|
|
|
|
return result |