Align OpenAI API for FaqGen, DocSum (#1401)

Signed-off-by: Xinyao Wang <xinyao.wang@intel.com>
This commit is contained in:
XinyaoWa
2025-01-17 11:19:35 +08:00
committed by GitHub
parent 71e3c57366
commit 39409d7f61
10 changed files with 32 additions and 23 deletions

View File

@@ -15,9 +15,9 @@ from comps.cores.proto.api_protocol import (
ChatCompletionResponse,
ChatCompletionResponseChoice,
ChatMessage,
DocSumChatCompletionRequest,
UsageInfo,
)
from comps.cores.proto.docarray import DocSumLLMParams
from fastapi import File, Request, UploadFile
from fastapi.responses import StreamingResponse
@@ -34,14 +34,20 @@ def align_inputs(self, inputs, cur_node, runtime_graph, llm_parameters_dict, **k
if self.services[cur_node].service_type == ServiceType.LLM:
for key_to_replace in ["text", "asr_result"]:
if key_to_replace in inputs:
inputs["query"] = inputs[key_to_replace]
inputs["messages"] = inputs[key_to_replace]
del inputs[key_to_replace]
docsum_parameters = kwargs.get("docsum_parameters", None)
if docsum_parameters:
docsum_parameters = docsum_parameters.model_dump()
del docsum_parameters["query"]
del docsum_parameters["messages"]
inputs.update(docsum_parameters)
if "id" in inputs:
del inputs["id"]
if "max_new_tokens" in inputs:
del inputs["max_new_tokens"]
if "input" in inputs:
del inputs["input"]
elif self.services[cur_node].service_type == ServiceType.ASR:
if "video" in inputs:
audio_base64 = video2audio(inputs["video"])
@@ -217,13 +223,13 @@ class DocSumService:
initial_inputs_data = {}
initial_inputs_data[data_type] = prompt
else:
initial_inputs_data = {"query": prompt}
initial_inputs_data = {"messages": prompt}
else:
raise ValueError(f"Unknown request type: {request.headers.get('content-type')}")
docsum_parameters = DocSumLLMParams(
query="",
docsum_parameters = DocSumChatCompletionRequest(
messages="",
max_tokens=chat_request.max_tokens if chat_request.max_tokens else 1024,
top_k=chat_request.top_k if chat_request.top_k else 10,
top_p=chat_request.top_p if chat_request.top_p else 0.95,