@@ -739,10 +739,8 @@ void OpenAIChatCompletionsHandler::incrementProcessedTokens(size_t numTokens) {
739
739
740
740
absl::Status OpenAIChatCompletionsHandler::parseRequest (std::optional<uint32_t > maxTokensLimit, uint32_t bestOfLimit, std::optional<uint32_t > maxModelLength, std::optional<std::string> allowedLocalMediaPath) {
741
741
absl::Status status = parseCommonPart (maxTokensLimit, bestOfLimit, maxModelLength);
742
-
743
742
if (status != absl::OkStatus ())
744
743
return status;
745
-
746
744
if (endpoint == Endpoint::COMPLETIONS)
747
745
status = parseCompletionsPart ();
748
746
else
@@ -764,7 +762,7 @@ ParsedOutput OpenAIChatCompletionsHandler::parseOutputIfNeeded(const std::vector
764
762
if (endpoint != Endpoint::CHAT_COMPLETIONS || outputParser == nullptr ) {
765
763
parsedOutput.content = tokenizer.decode (generatedIds);
766
764
} else {
767
- parsedOutput = outputParser->parse (generatedIds, areToolsAvailable ());
765
+ parsedOutput = outputParser->parse (generatedIds, areToolsAvailable (), this -> request . toolNameSchemaMap );
768
766
}
769
767
return parsedOutput;
770
768
}
@@ -1058,6 +1056,7 @@ std::string OpenAIChatCompletionsHandler::serializeStreamingChunk(const std::str
1058
1056
choice.AddMember (" logprobs" , Value (), allocator);
1059
1057
if (endpoint == Endpoint::CHAT_COMPLETIONS) {
1060
1058
if (outputParser != nullptr ) {
1059
+ // FIXME need tool maps for streaming
1061
1060
std::optional<Document> delta = outputParser->parseChunk (chunkResponse, areToolsAvailable (), finishReason);
1062
1061
if (!delta.has_value ()) {
1063
1062
return " " ;
0 commit comments