Skip to content

Commit 90cd64c

Browse files
committed
Before fix test
1 parent 43b00ca commit 90cd64c

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

src/test/llm/output_parsers/qwen3coder_output_parser_test.cpp

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,47 @@ TEST_F(Qwen3CoderOutputParserTest, StreamingSimpleToolCall) {
612612
{"value1</parameter></function></tool_call>", ov::genai::GenerationFinishReason::NONE, R"({"delta":{"tool_calls":[{"index":3,"function":{"arguments":"{\"arg1\": \"value1\"}"}}]}})"},
613613
{"NOTHING IMPORTANT HERE", ov::genai::GenerationFinishReason::NONE, std::nullopt},
614614
{"part of bfcl 'draft'.\n\n<function=cd>\n", ov::genai::GenerationFinishReason::NONE, R"({"delta":{"tool_calls":[{"id":"XXXXXXXXX","type":"function","index":4,"function":{"name":"cd"}}]}})"},
615-
{"\n<parameter=folder>\nResearchDocs\n</parameter>\n</function>\n</tool_call>", ov::genai::GenerationFinishReason::NONE, R"({"delta":{"tool_calls":[{"index":4,"function":{"arguments":"{\"folder\": \"ResearchDocs\"}"}}]}})"}};
615+
{"\n<parameter=folder>\nResearchDocs\n</parameter>\n</function>\n</tool_call>", ov::genai::GenerationFinishReason::NONE, R"({"delta":{"tool_calls":[{"index":4,"function":{"arguments":"{\"folder\": \"ResearchDocs\"}"}}]}})"},
616+
// example from cds:
617+
{R"(
618+
<tool_call>
619+
<function=string_tool>
620+
<parameter=arg1>
621+
)", ov::genai::GenerationFinishReason::NONE, R"({"delta":{"tool_calls":[{"id":"XXXXXXXXX","type":"function","index":5,"function":{"name":"string_tool"}}]}})"},
622+
{R"(FUNCTION FC_CreateJsonPayload : STRING
623+
VAR_INPUT
624+
Value1 : REAL;
625+
Value2 : INT;
626+
Value3 : BOOL;
627+
Value4 : STRING(100);
628+
END_VAR
629+
VAR_OUTPUT
630+
JsonPayload : STRING(1000);
631+
END_VAR
632+
VAR
633+
TempStr : STRING(100);
634+
END_VAR
635+
636+
JsonPayload := '{';
637+
JsonPayload := JsonPayload + '"value1":' + REAL_TO_STRING(Value1, '', 2) + ',';
638+
JsonPayload := JsonPayload + '"value2":' + INT_TO_STRING(Value2) + ',';
639+
JsonPayload := JsonPayload + '"value3":' + BOOL_TO_STRING(Value3) + ',';
640+
JsonPayload := JsonPayload + '"value4":"' + Value4 + '"';
641+
JsonPayload := JsonPayload + '}';
642+
643+
END_FUNCTION</parameter>
644+
</function>
645+
</tool_call>)", ov::genai::GenerationFinishReason::NONE, R"({"delta":{"tool_calls":[{"index":5,"function":{"arguments":"{\"arg1\": \"FUNCTION FC_CreateJsonPayload : STRING\\nVAR_INPUT\\n Value1 : REAL;\\n Value2 : INT;\\n Value3 : BOOL;\\n Value4 : STRING(100);\\nEND_VAR\\nVAR_OUTPUT\\n JsonPayload : STRING(1000);\\nEND_VAR\\nVAR\\n TempStr : STRING(100);\\nEND_VAR\\n\\n JsonPayload := '{';\\n JsonPayload := JsonPayload + '\"value1\":' + REAL_TO_STRING(Value1, '', 2) + ',';\\n JsonPayload := JsonPayload + '\"value2\":' + INT_TO_STRING(Value2) + ',';\\n JsonPayload := JsonPayload + '\"value3\":' + BOOL_TO_STRING(Value3) + ',';\\n JsonPayload := JsonPayload + '\"value4\":\"' + Value4 + '\"';\\n JsonPayload := JsonPayload + '}';\\n\\nEND_FUNCTION\"}"}}]}})"},
646+
{"<tool_call><function=string_tool><parameter=arg1>", ov::genai::GenerationFinishReason::NONE, R"({"delta":{"tool_calls":[{"id":"XXXXXXXXX","type":"function","index":6,"function":{"name":"string_tool"}}]}})"},
647+
{R"(
648+
if __name__ == "__main__":
649+
addresses = {}
650+
addresses["Hodor"] = """The door"""
651+
addresses["Arya"] = "Winterfell"
652+
for name, address in addresses.items():
653+
print(f'{name} lives at {address}')
654+
</parameter></function></tool_call>)", ov::genai::GenerationFinishReason::NONE, R"({"delta":{"tool_calls":[{"index":6,"function":{"arguments":"{\"arg1\": \"if __name__ == \"__main__\":\\n addresses = {}\\n addresses[\"Hodor\"] = \"\"\"The door\"\"\"\\n addresses[\"Arya\"] = \"Winterfell\"\\n for name, address in addresses.items():\\n print(f'{name} lives at {address}')\"}"}}]}})"}
655+
};
616656
for (const auto& [chunk, finishReason, expectedDelta] : chunkToDeltaVec) {
617657
i++;
618658
std::optional<rapidjson::Document> doc = outputParser->parseChunk(chunk, true, ov::genai::GenerationFinishReason::NONE);

0 commit comments

Comments
 (0)