feat: init commint
This commit is contained in:
@@ -29,6 +29,11 @@ class SkillDefinition(models.Model):
|
||||
|
||||
|
||||
class SkillVersion(models.Model):
|
||||
class OutputEnforcement(models.TextChoices):
|
||||
NATIVE_JSON_SCHEMA = "native_json_schema", "原生 JSON Schema"
|
||||
JSON_OBJECT = "json_object", "JSON Object"
|
||||
VALIDATED_JSON = "validated_json", "校验型 JSON"
|
||||
|
||||
definition = models.ForeignKey(
|
||||
SkillDefinition,
|
||||
on_delete=models.CASCADE,
|
||||
@@ -39,6 +44,11 @@ class SkillVersion(models.Model):
|
||||
prompt_template = models.TextField()
|
||||
input_schema = models.JSONField(default=dict)
|
||||
output_schema = models.JSONField(default=dict)
|
||||
output_enforcement = models.CharField(
|
||||
max_length=32,
|
||||
choices=OutputEnforcement.choices,
|
||||
default=OutputEnforcement.VALIDATED_JSON,
|
||||
)
|
||||
example_input = models.JSONField(default=dict, blank=True)
|
||||
created_by = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
@@ -71,3 +81,9 @@ class SkillVersion(models.Model):
|
||||
name="unique_skill_draft",
|
||||
),
|
||||
]
|
||||
|
||||
@property
|
||||
def structured_output_metrics(self) -> dict:
|
||||
from apps.agents.structured_metrics import build_structured_output_metrics
|
||||
|
||||
return build_structured_output_metrics(skill_version_id=self.id)
|
||||
|
||||
Reference in New Issue
Block a user