Skip to content

Commit 0449d29

Browse files
committed
Fix boolean env vars and cli arguments
1 parent 58a6e42 commit 0449d29

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

llama_cpp/server/__main__.py

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,21 @@ def contains_list_type(annotation) -> bool:
5151
else:
5252
return False
5353

54+
def parse_bool_arg(arg):
55+
if isinstance(arg, bytes):
56+
arg = arg.decode('utf-8')
57+
58+
true_values = {'1', 'on', 't', 'true', 'y', 'yes'}
59+
false_values = {'0', 'off', 'f', 'false', 'n', 'no'}
60+
61+
arg_str = str(arg).lower().strip()
62+
63+
if arg_str in true_values:
64+
return True
65+
elif arg_str in false_values:
66+
return False
67+
else:
68+
raise ValueError(f'Invalid boolean argument: {arg}')
5469

5570
if __name__ == "__main__":
5671
parser = argparse.ArgumentParser()
@@ -72,16 +87,8 @@ def contains_list_type(annotation) -> bool:
7287
parser.add_argument(
7388
f"--{name}",
7489
dest=name,
75-
action="store_true",
76-
help=f"Disable {description}",
77-
default=field.default,
78-
)
79-
parser.add_argument(
80-
f"--no-{name}",
81-
dest=name,
82-
action="store_false",
90+
type=parse_bool_arg,
8391
help=f"Disable {description}",
84-
default=field.default,
8592
)
8693

8794
args = parser.parse_args()

0 commit comments

Comments
 (0)