@@ -739,10 +739,8 @@ void OpenAIChatCompletionsHandler::incrementProcessedTokens(size_t numTokens) {
739739
740740absl::Status OpenAIChatCompletionsHandler::parseRequest (std::optional<uint32_t > maxTokensLimit, uint32_t bestOfLimit, std::optional<uint32_t > maxModelLength, std::optional<std::string> allowedLocalMediaPath) {
741741 absl::Status status = parseCommonPart (maxTokensLimit, bestOfLimit, maxModelLength);
742-
743742 if (status != absl::OkStatus ())
744743 return status;
745-
746744 if (endpoint == Endpoint::COMPLETIONS)
747745 status = parseCompletionsPart ();
748746 else
@@ -764,7 +762,7 @@ ParsedOutput OpenAIChatCompletionsHandler::parseOutputIfNeeded(const std::vector
764762 if (endpoint != Endpoint::CHAT_COMPLETIONS || outputParser == nullptr ) {
765763 parsedOutput.content = tokenizer.decode (generatedIds);
766764 } else {
767- parsedOutput = outputParser->parse (generatedIds, areToolsAvailable ());
765+ parsedOutput = outputParser->parse (generatedIds, areToolsAvailable (), this -> request . toolNameSchemaMap );
768766 }
769767 return parsedOutput;
770768}
@@ -1058,6 +1056,7 @@ std::string OpenAIChatCompletionsHandler::serializeStreamingChunk(const std::str
10581056 choice.AddMember (" logprobs" , Value (), allocator);
10591057 if (endpoint == Endpoint::CHAT_COMPLETIONS) {
10601058 if (outputParser != nullptr ) {
1059+ // FIXME need tool maps for streaming
10611060 std::optional<Document> delta = outputParser->parseChunk (chunkResponse, areToolsAvailable (), finishReason);
10621061 if (!delta.has_value ()) {
10631062 return " " ;
0 commit comments