Fine-tuning and function calling

Hi everyone!

I’m working on a new version of my AI personal assistant and after many hours of tinkering with the prompts, I gave up on 3.5-turbo, as it is just not capable of following instructions properly. GPT-4 handles it quite well, but the cost is really really high for the kind of agent I need.
(it’s funny how 3.5 seems so dumb now :sweat_smile:)

So the news of fine-tuning the chat models was right on time.
However, the docs state that fine-tuning does not yet support function calling in the samples. What I would like to know, in case anyone already tried it, is if the fine-tuned model will still have the functional calling capabilities of its base model, or if the function calling will be lost completely. I rely heavily on function calling, which also makes GPT-4 super expensive as the descriptions for the functions also count for the token usage and they are so verbose :frowning:


I fine-tuned a model based on 3.5-turbo and it doesn’t support function calling. You will get an error if you try to pass the functions parameter.


that’s what I feared :frowning: thanks for letting me know

1 Like

I think I’ve heard that it might be possible in the future… you might search around to confirm.

I’ll say this: If cost is the limiting factor to your solution at present, do not let that be the reason you stop. The cost of inference will tend to zero as time progresses.

absolutely! But it really hinders the speed :wink:

Is a real bummer if that is the case, but yeah, I get the error if I pass in functions while using my fine tuned model.

I originally interpreted OpenAI’s communication about it as you wouldn’t be able to tune the functions role, but assumed if could pass functions in using gpt-3.5-turbo-0613 then would be able to as well with a model fine tuned on that base.

Wish their documentation was a little bit more clear in that regard but maybe I’m breezing through some of it too quickly.

1 Like

wish i would have read this tread before i spent the last several hours trying to figure out that a fine tuned model won’t support function calling… dang!

Check the following guys,
you can fine-tune the model on function-calls