mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-07-23 20:26:15 +00:00
46 lines
1.7 KiB
Python
46 lines
1.7 KiB
Python
from dbgpt._private.pydantic import BaseModel, ConfigDict, Field
|
|
|
|
DEFAULT_CONTEXT_WINDOW = 3900
|
|
DEFAULT_NUM_OUTPUTS = 256
|
|
|
|
|
|
class LLMMetadata(BaseModel):
|
|
model_config = ConfigDict(protected_namespaces=())
|
|
|
|
context_window: int = Field(
|
|
default=DEFAULT_CONTEXT_WINDOW,
|
|
description=(
|
|
"Total number of tokens the model can be input and output for one response."
|
|
),
|
|
)
|
|
num_output: int = Field(
|
|
default=DEFAULT_NUM_OUTPUTS,
|
|
description="Number of tokens the model can output when generating a response.",
|
|
)
|
|
is_chat_model: bool = Field(
|
|
default=False,
|
|
description=(
|
|
"Set True if the model exposes a chat interface (i.e. can be passed a"
|
|
" sequence of messages, rather than text), like OpenAI's"
|
|
" /v1/chat/completions endpoint."
|
|
),
|
|
)
|
|
is_function_calling_model: bool = Field(
|
|
default=False,
|
|
# SEE: https://openai.com/blog/function-calling-and-other-api-updates
|
|
description=(
|
|
"Set True if the model supports function calling messages, similar to"
|
|
" OpenAI's function calling API. For example, converting 'Email Anya to"
|
|
" see if she wants to get coffee next Friday' to a function call like"
|
|
" `send_email(to: string, body: string)`."
|
|
),
|
|
)
|
|
model_name: str = Field(
|
|
default="unknown",
|
|
description=(
|
|
"The model's name used for logging, testing, and sanity checking. For some"
|
|
" models this can be automatically discerned. For other models, like"
|
|
" locally loaded models, this must be manually specified."
|
|
),
|
|
)
|