Add dynamic variable support to Assistant model and related components
- Introduce dynamic variable definitions in AssistantConfig and Assistant models, allowing for flexible prompt customization. - Implement validation for dynamic variable names and types in the schema. - Update backend services and routes to handle dynamic variables in assistant configurations and runtime processing. - Enhance frontend components to support dynamic variable definitions, including a new editor for managing variables. - Add tests to ensure proper functionality and validation of dynamic variables in various scenarios.
This commit is contained in:
@@ -24,6 +24,7 @@ class RuntimeTool(BaseModel):
|
||||
type: str
|
||||
description: str = ""
|
||||
definition: dict = Field(default_factory=dict)
|
||||
secrets: dict = Field(default_factory=dict)
|
||||
|
||||
|
||||
class AssistantConfig(BaseModel):
|
||||
@@ -34,6 +35,10 @@ class AssistantConfig(BaseModel):
|
||||
type: str = "prompt"
|
||||
greeting: str = "您好,我是 AI 视频助手,请问有什么可以帮您?"
|
||||
prompt: str = "你是一个有帮助的助手。"
|
||||
dynamic_variable_definitions: dict = Field(default_factory=dict)
|
||||
dynamic_variables: dict = Field(default_factory=dict)
|
||||
secret_dynamic_variables: dict = Field(default_factory=dict)
|
||||
conversation_id: str = ""
|
||||
runtimeMode: RuntimeMode = "pipeline"
|
||||
|
||||
# 模型/音色选项
|
||||
@@ -121,3 +126,4 @@ class SignalingOffer(BaseModel):
|
||||
assistant_id: str | None = None
|
||||
inline_config: AssistantConfig | None = None
|
||||
vision_enabled: bool = False
|
||||
dynamic_variables: dict = Field(default_factory=dict)
|
||||
|
||||
Reference in New Issue
Block a user