Fix streaming for granite tool call when <|tool_call|> is present (#11069)

Signed-off-by: Max de Bayser <mbayser@br.ibm.com>
This commit is contained in:
Maximilien de Bayser 2024-12-11 01:51:40 -03:00 committed by GitHub
parent ffa48c9146
commit e39400a4b6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -88,7 +88,11 @@ class GraniteToolParser(ToolParser):
) -> Union[DeltaMessage, None]:
start_idx = consume_space(0, current_text)
if not current_text or current_text[start_idx] != '[':
if current_text[start_idx:].startswith(self.bot_token):
start_idx = consume_space(start_idx + len(self.bot_token),
current_text)
if not current_text or start_idx >= len(current_text)\
or current_text[start_idx] != '[':
return DeltaMessage(content=delta_text)
# bit mask flags for partial JSON parsing. If the name hasn't been