What do you put as `id` when fine-tuning tool call

The new fine tuning ‘Tool Calling’ example mentions a tool call id but doesn’t elaborate on its purpose. It seems to be required as task fails without it.

Does anyone know what does it mean?
What’s the right thing to put there? Just a constant (seems like that’s what provided in the example)? An arbitrary string? A consistent arbitrary string (hash of the expected call)?


This should give you an idea:

Source: https://platform.openai.com/docs/assistants/tools/function-calling/quickstart

I’m assuming you can just make these up for the purpose of the fine-tuning training data, following the same pattern.



I’m assuming the same (also- it works), wondered if there can be some meaning/use case behind it that I might be missing.

1 Like

I believe the ID is generated by the API and used by the API to associate subsequent response messages of the “tool” type (which you send to the API) with their corresponding tool_call (to provide a more coherent context to the LLM). So in this tool_call fine-tuning use case, I think you’re right that it doesn’t matter what the ID is.


Exactly what I was thinking… But would expect it to not be required at all in this case.

From what I remember the documentation for fine tuning tool calls is new (probably the whole feature is), so maybe they’ll add context for it at some point.

Yeah, the documentation could be better. And I agree, it does seem like something the API could fabricate for you, so you don’t have to make up an id and pass it in every time!