Переглянути джерело

fix: casting non-string type value for tool parameter options (#5267)

Bowen Liang 10 місяців тому
батько
коміт
d94279ae75

+ 2 - 2
api/core/tools/entities/tool_entities.py

@@ -116,10 +116,10 @@ class ToolParameterOption(BaseModel):
     value: str = Field(..., description="The value of the option")
     label: I18nObject = Field(..., description="The label of the option")
 
-    @classmethod
     @field_validator('value', mode='before')
+    @classmethod
     def transform_id_to_str(cls, value) -> str:
-        if isinstance(value, bool):
+        if not isinstance(value, str):
             return str(value)
         else:
             return value

+ 1 - 1
api/core/tools/provider/builtin/websearch/tools/scholar_search.yaml

@@ -227,7 +227,7 @@ parameters:
           en_US: New Zealand
           zh_Hans: 新西兰
           pt_BR: New Zealand
-      - value: NO
+      - value: "NO"
         label:
           en_US: Norway
           zh_Hans: 挪威