license: apache-2.0
tags:
- function
- function-calling
- tool-using
[Deprecation]:
Please use the new empower functions v1.1 models family.
v1.1 is fully compatible with the existing prompts and has much better accuracy and a longer context window.
Empower Functions Model
https://github.com/empower-ai/empower-functions
Empower Functions is a family of LLMs(large language models) that offer GPT-4 level capabilities for real-world "tool using" use cases, with full compatibility support to be served as a drop-in replacement.
This is the llama3-empower-functions-large
model, which requires 4XA100 to run. For smaller models that can run on more affordable devices, please visit the empower-functions collection
Key Features
- Automatic tool using, able to decide when to use tools and when to converse, optimized for long conversations
- Parallel call, supports calling one function multiple times, multiple functions, or a combination of both
- Sequential calling, supports calling multiple functions sequentially to fulfill the user request
- Streaming
Family of Models
Model | Specs | Links | Notes |
---|---|---|---|
llama3-empower-functions-small | 8k context, based on Llama3 8B | model, GGUF | Most cost-effective, locally runnable |
empower-functions-medium | 32k context, based on Mixtral 8x7B | model | Balance in accuracy and cost |
llama3-empower-functions-large | 8k context, based on Llama3 70B | model | Best accuracy |
Hardware Requirement
We have tested and the family of models in following setup:
- empower-functions-small: fp16 on 1xA100 40G, GGUF and 4bit GGUF on Macbook M2 Pro with 32G RAM, in minimal the 4bit GGUF version requires 7.56G RAM.
- empower-functions-medium: fp16 on 2xA100 80G
- empower-functions-large: fp16 on 4xA100 80G
Usage
There are three ways to use the empower-functions model. You can either directly prompt the raw model, run it locally through llama-cpp-python, or use our hosted API
Evaluation
We benchmarked our model against a few other options, on three datasets:
Single Turn Dataset: The model is evaluated for its ability to execute a precise function call, assessing both the accuracy of the selected function and the arguments.
Parallel Call Dataset: In this scenario, the model demonstrates its capacity to handle multiple (2-6) function calls within a single message, a feature not supported by Fireworks and Anyscale.
Multi-Turn Dataset: Designed to simulate a complex real-world environment, such as a healthcare appointment booking system, the model navigates between natural conversation, initiating function calls, asking clarifying questions, and, when necessary, transferring to customer service. The assessment focuses on the accuracy of intent classification and the correctness of function calls.
For more detailed evaluation result, please refer to our github repo
Demo App
Check our healthcare appointment booking demo
Want to customize the model? Please contact us at [email protected]