Description
Prerequisites
- I am running the latest code. Mention the version if possible as well.
- I carefully followed the README.md.
- I searched using keywords relevant to my issue to make sure that I am creating a new issue that is not already open (or closed).
- I reviewed the Discussions, and have a new and useful enhancement to share.
Feature Description
In the server mode, user should be able to use the OAI api for tool calling just like they do to do tool calling for gpt-4. Today this is not supported yet: https://github.com/ggerganov/llama.cpp/blob/master/examples/server/utils.hpp#L394
Motivation
There are more and more open sourced small models(7b, 30b, 70b) out there that support tool calling. Is it possible that llama.cpp starts to support those? I also created my own tool calling models: https://huggingface.co/rubra-ai/Meta-Llama-3-8B-Instruct-GGUF, but it requires extra preprocess and post process steps to handle the function calling requests, so I have to create a fork tools.cpp and implemented custom logic.
I wonder if it is possible to create something like a standard tool calling template so that tool calling models can follow. Basically it needs to cover 3 things:
- convert tool calling output from model to OAI json format.
- convert OAI format input function definitions to proper system prompt of local model.
- convert OAI format input chat messages with role
tool_call
ortools
to a proper format that a tool calling model can support.
Possible Implementation
No response
Activity