17 lines
482 B
Python
17 lines
482 B
Python
from __future__ import annotations
|
|
|
|
from typing import Literal
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class IntentDefinition(BaseModel):
|
|
intent_id: str
|
|
plugin_id: str
|
|
domain: str
|
|
risk_level: Literal["low", "medium", "high"] = "low"
|
|
required_slots: list[str] = Field(default_factory=list)
|
|
ask_templates: dict[str, str] = Field(default_factory=dict)
|
|
keywords: list[str] = Field(default_factory=list)
|
|
examples: list[str] = Field(default_factory=list)
|