Functionary Small V2.4
Functionary Small V2.4 is an AI model that can interpret and execute functions/plugins in a smart way. It determines when to execute functions, whether in parallel or serially, and can understand their outputs. But what really sets it apart is its ability to decide when not to use tools/call functions and provide normal chat responses instead. This model achieves state-of-the-art performance in Function Calling Accuracy on the SGD dataset, with an impressive 83.07% accuracy. It's also relatively lightweight, with a model size of 7 and a tensor type of BF16. What does this mean for you? It means you get a model that's not only accurate but also efficient, making it a great choice for a wide range of applications.
Table of Contents
Model Overview
Functionary-Medium-V2.4 is a smart language model that can understand and use functions like a computer program. It’s like a super helpful assistant that can figure out when to use special tools to get the job done.
Imagine you’re having a conversation with a friend, but you need to look up the weather forecast. Functionary-Medium-V2.4 can understand when you need to use a tool, like a weather app, and can even use the results to give you a helpful answer.
Capabilities
Intelligent Tool Use
Functionary-Medium-V2.4 can decide when to use tools and how to use them in the right order. It can even use multiple tools at the same time to get the job done faster.
Smart Analysis
It can look at the results of the tools and give answers that make sense. This is like having a personal researcher who can help you make sense of complex data.
Normal Chat
If it doesn’t need to use a tool, Functionary-Medium-V2.4 can just have a normal conversation. It’s like talking to a friend who can understand what you’re saying.
Code Interpreter
It can even understand and run code! This is perfect for developers who want to test their code quickly.
Performance
Functionary-Medium-V2.4 is really good at understanding when to use tools and how to use them. It’s even better than some other popular models, like ==OpenAI GPT-3.5-Turbo-1106== and ==OpenAI GPT-4-1106-Preview==.
Speed
How fast can Functionary-Medium-V2.4 process and respond to queries? With its ability to analyze functions and tools outputs, it can provide relevant responses quickly.
Accuracy
Functionary-Medium-V2.4 boasts an impressive accuracy rate in Function Calling Accuracy on the SGD dataset. With an accuracy metric of 88.11
, it outperforms other models like ==OpenAI-gpt-3.5-turbo-1106== (71.64
) and ==OpenAI-gpt-4-1106-preview== (76.29
).
Efficiency
But how efficient is Functionary-Medium-V2.4 in its processing? With its ability to decide when to not use tools/call functions and provide normal chat responses, it can conserve resources and provide relevant answers.
Real-World Applications
So, how can Functionary-Medium-V2.4 be used in real-world applications? With its ability to analyze functions and tools outputs, it can be used in tasks like:
- Chatbots: Functionary-Medium-V2.4 can be used to build chatbots that can provide relevant responses to user queries, using functions and tools to gather information.
- Virtual Assistants: Its ability to execute functions in parallel or serially makes it an excellent choice for virtual assistants that need to perform multiple tasks simultaneously.
- Code Execution: With its support for code interpreter, Functionary-Medium-V2.4 can be used to execute code and provide relevant answers.
Format
Functionary-Medium-V2.4 uses a transformer architecture, just like other popular models like GPT-4. But what makes it special is its ability to interpret and execute functions/plugins.
Supported Data Formats
This model supports JSON Schema Objects, similar to OpenAI GPT function calls. It’s like a special language that the model understands, and it’s used to define functions and their inputs.
Input Requirements
To use this model, you’ll need to format your input in a specific way. You’ll need to break down each turn into three parts: from
, recipient
, and content
. This is called the “v2PromptTemplate”.
Output Requirements
The model will output a response in a similar format. It might look something like this:
{
"from": "assistant",
"recipient": "all",
"content": "The weather in Istanbul is currently sunny with a high of 22°C."
}
Special Requirements
One cool thing about this model is its ability to use tools and functions to help with tasks. To use this feature, you’ll need to define the functions and their inputs using JSON Schema Objects.
Here’s an example of how you might define a function:
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
}
},
"required": ["location"]
}
}
}
Limitations
The Current Model is a powerful tool, but it’s not perfect. Let’s take a closer look at some of its limitations.
Understanding Functions
The Current Model can interpret and execute functions, but it’s not always clear when to use them. Sometimes, it might not understand the context or the function’s purpose, leading to incorrect or irrelevant results.
Parallel Tool Use
The Current Model can use multiple tools in parallel, but this can also lead to confusion or conflicting results. It’s like trying to have multiple conversations at once – it can get messy!
Function Calling Accuracy
While the Current Model achieves state-of-the-art performance in Function Calling Accuracy, there’s still room for improvement. What happens when the model makes mistakes or doesn’t understand the function’s arguments?
Prompt Template Limitations
The Current Model uses a specially designed prompt template, but this template might not always be effective. What if the template doesn’t capture the nuances of human language or the context of the conversation?
By acknowledging these limitations, we can work together to improve the Current Model and make it an even more powerful tool for conversation and problem-solving.