diff --git a/llm/cli.py b/llm/cli.py index 4c5151d8..81b162fe 100644 --- a/llm/cli.py +++ b/llm/cli.py @@ -777,7 +777,8 @@ def read_prompt(): if key_ not in validated_options: validated_options[key_] = value - kwargs = {**validated_options} + kwargs = {} + kwargs["options"] = validated_options resolved_attachments = [*attachments, *attachment_types] diff --git a/llm/models.py b/llm/models.py index c0ad8826..14475655 100644 --- a/llm/models.py +++ b/llm/models.py @@ -399,7 +399,7 @@ def prompt( system_fragments: Optional[List[str]] = None, stream: bool = True, key: Optional[str] = None, - **options, + options: Optional[dict] = None, ) -> "Response": return Response( Prompt( @@ -412,7 +412,7 @@ def prompt( tools=tools or self.tools, tool_results=tool_results, system_fragments=system_fragments, - options=self.model.Options(**options), + options=self.model.Options(**(options or {})), ), self.model, stream, @@ -536,7 +536,7 @@ def prompt( system_fragments: Optional[List[str]] = None, stream: bool = True, key: Optional[str] = None, - **options, + options: Optional[dict] = None, ) -> "AsyncResponse": return AsyncResponse( Prompt( @@ -549,7 +549,7 @@ def prompt( tools=tools, tool_results=tool_results, system_fragments=system_fragments, - options=self.model.Options(**options), + options=self.model.Options(**(options or {})), ), self.model, stream, @@ -1756,9 +1756,9 @@ def prompt( schema: Optional[Union[dict, type[BaseModel]]] = None, tools: Optional[List[ToolDef]] = None, tool_results: Optional[List[ToolResult]] = None, - **options, + key: Optional[str] = None, + options: Optional[dict] = None, ) -> Response: - key_value = options.pop("key", None) self._validate_attachments(attachments) return Response( Prompt( @@ -1771,11 +1771,11 @@ def prompt( tool_results=tool_results, system_fragments=system_fragments, model=self, - options=self.Options(**options), + options=self.Options(**(options or {})), ), self, stream, - key=key_value, + key=key, ) def chain(