"backends/v3/src/client/grpc_client.rs" did not exist on "7fbfbb0dc5d9f928ee4c496a04bff4a0eca8a9c8"
Unverified Commit 151e287d authored by Yi Zhang's avatar Yi Zhang Committed by GitHub
Browse files

fix: add fast path for function call (#9023)


Co-authored-by: default avatartazjin <mail@tazj.in>
parent 8c86595c
......@@ -69,6 +69,8 @@ class FunctionCallParser:
Returns:
True if the text contains a tool call, False otherwise
"""
if not self.tools:
return False
return self.detector.has_tool_call(text)
def parse_non_stream(self, full_text: str) -> Tuple[str, list[ToolCallItem]]:
......@@ -83,6 +85,8 @@ class FunctionCallParser:
- The remaining text after parsing that was not consumed by the detector (can be treated as normal text)
- A list of tool calls parsed from the text
"""
if not self.tools:
return full_text, []
parsed_result = self.detector.detect_and_parse(full_text, self.tools)
tool_call_list = parsed_result.calls
if tool_call_list:
......@@ -102,6 +106,8 @@ class FunctionCallParser:
- The normal text that should be displayed to the user
- A list of tool calls parsed from the chunk
"""
if not self.tools:
return chunk_text, []
final_normal_text = ""
final_calls = []
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment