feat: support tool_choice = {required, none, <function>} (#1059)

Summary:

titled


Test Plan:

added tests and

LLAMA_STACK_CONFIG=fireworks pytest -s -v tests/client-sdk/
--safety-shield meta-llama/Llama-Guard-3-8B
This commit is contained in:
ehhuang 2025-02-18 20:25:15 -08:00 committed by GitHub
parent 37cf60b732
commit 8de7cf103b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 164 additions and 41 deletions

View file

@ -1637,6 +1637,7 @@ components:
enum:
- auto
- required
- none
description: >-
Whether tool use is required or automatic. This is a hint to the model
which may not be followed. It depends on the Instruction Following capabilities
@ -1994,13 +1995,21 @@ components:
type: object
properties:
tool_choice:
type: string
enum:
- auto
- required
description: >-
(Optional) Whether tool use is required or automatic. Defaults to ToolChoice.auto.
oneOf:
- type: string
enum:
- auto
- required
- none
description: >-
Whether tool use is required or automatic. This is a hint to the model
which may not be followed. It depends on the Instruction Following
capabilities of the model.
- type: string
default: auto
description: >-
(Optional) Whether tool use is automatic, required, or none. Can also
specify a tool name to use a specific tool. Defaults to ToolChoice.auto.
tool_prompt_format:
type: string
enum:
@ -2027,8 +2036,6 @@ components:
where the function definitions should be inserted.
default: append
additionalProperties: false
required:
- system_message_behavior
description: Configuration for tool use.
ToolDef:
type: object
@ -2533,6 +2540,7 @@ components:
enum:
- auto
- required
- none
description: >-
Whether tool use is required or automatic. This is a hint to the model
which may not be followed. It depends on the Instruction Following capabilities
@ -2739,6 +2747,7 @@ components:
enum:
- auto
- required
- none
description: >-
(Optional) Whether tool use is required or automatic. Defaults to ToolChoice.auto.
.. deprecated:: Use tool_config instead.