api.py 1.17 KB
Newer Older
jerrrrry's avatar
jerrrrry committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.

from pydantic import BaseModel

from ..__init__ import Request


class LLMChatMessage(BaseModel):
    role: str
    content: str


class InferenceRequest(Request):
    prompt: list[str]
    n: int | None = None


class ChatInferenceRequest(InferenceRequest):
    prompt: list[list[LLMChatMessage]]


class GroupedInferenceRequest(InferenceRequest):
    group_size: int = 1


class InferenceResponse(BaseModel):
    """The minimum required response for an inference interface."""

    response: str
    raw_text: str | None = None
    token_ids: list[int] | None = None
    prompt_length: int | None = None
    logprobs: list[float] | None = None


class GroupedInferenceResponse(BaseModel):
    """An inference response which includes a list of responses."""

    responses: list[InferenceResponse]


class ChatInferenceResponse(InferenceResponse):
    """The minimum required response for a chat inference interface."""

    response: LLMChatMessage


class GroupedChatInferenceResponse(GroupedInferenceResponse):
    """A chat inference response which includes a list of responses."""

    responses: list[ChatInferenceResponse]