34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
# SPDX-License-Identifier: Apache-2.0
|
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM-Omni project
|
|
|
|
from typing import Any
|
|
|
|
from pydantic import SerializeAsAny
|
|
from vllm.entrypoints.openai.chat_completion.protocol import (
|
|
ChatCompletionResponse,
|
|
ChatCompletionResponseChoice,
|
|
ChatCompletionResponseStreamChoice,
|
|
ChatCompletionStreamResponse,
|
|
)
|
|
|
|
from vllm_omni.entrypoints.openai.protocol.audio import AudioChunkMetadata
|
|
|
|
|
|
class OmniChatCompletionResponseStreamChoice(ChatCompletionResponseStreamChoice):
|
|
audio_metadata: AudioChunkMetadata | None = None
|
|
|
|
|
|
class OmniChatCompletionResponseChoice(ChatCompletionResponseChoice):
|
|
audio_metadata: AudioChunkMetadata | None = None
|
|
|
|
|
|
class OmniChatCompletionStreamResponse(ChatCompletionStreamResponse):
|
|
choices: list[SerializeAsAny[ChatCompletionResponseStreamChoice]]
|
|
modality: str | None = "text"
|
|
metrics: dict[str, Any] | None = None
|
|
|
|
|
|
class OmniChatCompletionResponse(ChatCompletionResponse):
|
|
choices: list[SerializeAsAny[ChatCompletionResponseChoice]]
|
|
metrics: dict[str, Any] | None = None
|