Chat and Tool discussion, all models supported
Author: fletortCreated Sep 17, 2026Updated Sep 17, 2026
I don't know if it is a bug. When i used this prompt :
[
{
"role": "user",
"content": "# SYSTEM INSTRUCTIONS\n{{smart_spec_skill}}\n# ASSOCIATED USER MESSAGE\n{{user_message}}"
},
{
"role": "assistant",
"content": "",
"tool_calls": [
{
"id": "call_1",
"type": "function",
"function": {
"name": "read_file",
"arguments": { "path": ".smart.ai/config.yml" }
}
}
]
},
{
"role": "user",
"tool_call_id": "call_1",
"name": "read_file",
"content": "{{read_file_config_result}}"
}
]My tets is ok with deepseek, but gemini try to call the tool (it does'nt undestand that it is already done) To get working i need the following prompt dedicated to gemini:
[
{
"role": "user",
"parts": [
{
"text": "# SYSTEM INSTRUCTIONS\n{{smart_spec_skill}}\n# ASSOCIATED USER MESSAGE\n{{user_message}}"
}
]
},
{
"role": "model",
"parts": [
{
"functionCall": {
"id": "call-1",
"name": "read_file",
"args": { "path": ".smart.ai/config.yml" }
},
"thoughtSignature": "skip_thought_signature_validator"
}
]
},
{
"role": "user",
"parts": [
{
"functionResponse": {
"id": "call-1",
"name": "read_file",
"response": {
"result": "{{read_file_config_result}}"
}
}
}
]
}
]Is it normal ? Promptfoo does not manage the difference for the moment ?
Source: promptfoo/promptfoo