-
Notifications
You must be signed in to change notification settings - Fork 48
Open
Description
Anthropic API recently added support for an optional input_examples field in tool definition
https://platform.claude.com/docs/en/agents-and-tools/tool-use/implement-tool-use#providing-tool-use-examples
If kosong adds support for this, we can use the native feature for supported ChatProviders (currently only Anthropic), and convert to description for others.
Of course this can be just put in description by developers themselves, but it sounds like a good idea to have a dedicated field to encourage developers to provide tool use examples.
Besides, we can do Schema validation for examples (Anthropic do this on server side. If kosong supports this, we can do on the client side)
Anthropic API example
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
betas=["advanced-tool-use-2025-11-20"],
tools=[
{
"name": "get_weather",
"description": "Get the current weather in a given location",
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "The unit of temperature"
}
},
"required": ["location"]
},
"input_examples": [
{
"location": "San Francisco, CA",
"unit": "fahrenheit"
},
{
"location": "Tokyo, Japan",
"unit": "celsius"
},
{
"location": "New York, NY" # 'unit' is optional
}
]
}
],
messages=[
{"role": "user", "content": "What's the weather like in San Francisco?"}
]
)Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels