#10973·promptfoo

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 ?