File size: 2,104 Bytes
3d3d712 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
from taskweaver.memory.plugin import PluginEntry, PluginParameter, PluginSpec
def test_function_formatting():
plugin = PluginEntry(
name="test",
impl="test",
spec=PluginSpec(
name="test",
description="test",
args=[
PluginParameter(
name="arg1",
type="string",
description="arg1",
required=True,
),
PluginParameter(
name="arg2",
type="integer",
description="arg2",
required=False,
),
PluginParameter(
name="arg3",
type="float",
description="arg3",
required=False,
),
PluginParameter(
name="arg4",
type="boolean",
description="arg4",
required=False,
),
PluginParameter(
name="arg5",
type="none",
description="arg5",
required=False,
),
],
),
config={"test_key": "test_val"},
required=False,
enabled=True,
plugin_only=True,
)
assert plugin.format_function_calling() == {
"type": "function",
"function": {
"name": "test",
"description": "test",
"parameters": {
"type": "object",
"properties": {
"arg1": {"type": "string", "description": "arg1"},
"arg2": {"type": "integer", "description": "arg2"},
"arg3": {"type": "number", "description": "arg3"},
"arg4": {"type": "boolean", "description": "arg4"},
"arg5": {"type": "null", "description": "arg5"},
},
"required": ["arg1"],
},
},
}
|