Skip to content

Commit b183fb6

Browse files
authored
minor fix up react_agent (#123)
# What does this PR do? - address comments in #121 ## Test Plan - see llamastack/llama-stack-apps#166 ## Sources Please link relevant resources if necessary. ## Before submitting - [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case). - [ ] Ran pre-commit to handle lint / formatting issues. - [ ] Read the [contributor guideline](https://github.com/meta-llama/llama-stack/blob/main/CONTRIBUTING.md), Pull Request section? - [ ] Updated relevant documentation. - [ ] Wrote necessary unit or integration tests.
1 parent 9dda45e commit b183fb6

File tree

3 files changed

+8
-9
lines changed

3 files changed

+8
-9
lines changed

src/llama_stack_client/lib/agents/agent.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,7 @@ def _process_chunk(self, chunk: AgentTurnResponseStreamChunk) -> None:
6060
message = chunk.event.payload.turn.output_message
6161

6262
if self.output_parser:
63-
parsed_message = self.output_parser.parse(message)
64-
message = parsed_message
63+
self.output_parser.parse(message)
6564

6665
def _has_tool_call(self, chunk: AgentTurnResponseStreamChunk) -> bool:
6766
if chunk.event.payload.event_type != "turn_complete":

src/llama_stack_client/lib/agents/output_parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ def parse(self, output_message: CompletionMessage) -> CompletionMessage:
3939
Args:
4040
output_message (CompletionMessage): The response message from agent turn
4141
42-
Returns:
43-
CompletionMessage: The processed/transformed response message
42+
Returns: None
43+
Modifies the output_message in place
4444
"""
4545

4646
@abstractmethod
47-
def parse(self, output_message: CompletionMessage) -> CompletionMessage:
47+
def parse(self, output_message: CompletionMessage) -> None:
4848
raise NotImplementedError

src/llama_stack_client/lib/agents/react/output_parser.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,16 @@ class ReActOutput(BaseModel):
2525

2626

2727
class ReActOutputParser(OutputParser):
28-
def parse(self, output_message: CompletionMessage) -> CompletionMessage:
28+
def parse(self, output_message: CompletionMessage) -> None:
2929
response_text = str(output_message.content)
3030
try:
3131
react_output = ReActOutput.model_validate_json(response_text)
3232
except ValidationError as e:
3333
print(f"Error parsing action: {e}")
34-
return output_message
34+
return
3535

3636
if react_output.answer:
37-
return output_message
37+
return
3838

3939
if react_output.action:
4040
tool_name = react_output.action.tool_name
@@ -43,4 +43,4 @@ def parse(self, output_message: CompletionMessage) -> CompletionMessage:
4343
call_id = str(uuid.uuid4())
4444
output_message.tool_calls = [ToolCall(call_id=call_id, tool_name=tool_name, arguments=tool_params)]
4545

46-
return output_message
46+
return

0 commit comments

Comments
 (0)