--- license: apache-2.0 tags: - function - function-calling - tool-using --- ## [Deprecation]: Please use the new [empower functions v1.1 models family](https://huggingface.co/collections/empower-dev/empower-functions-v11-66df72d78c1f7b80bda36f5f). v1.1 is fully compatible with the existing prompts and has much better accuracy and a longer context window. ## Empower Functions Model ![image/png](https://cdn-uploads.huggingface.co/production/uploads/6424a49f12ba34f9894ab9b7/8y0l_DA5bPLfK0lWL__sn.png) [https://github.com/empower-ai/empower-functions](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 `empower-functions-medium` model which is based on the Mixtral 8X7B model. for other sizes including 8B and 70B, please visit [the empower-functions collection](https://huggingface.co/collections/empower-dev/empower-functions-663e9a22df93b46804df75a8) ## 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](https://huggingface.co/meta-llama/Meta-Llama-3-8B) | [model](https://huggingface.co/empower-dev/llama3-empower-functions-small), [GGUF](https://huggingface.co/empower-dev/llama3-empower-functions-small-gguf) | Most cost-effective, locally runnable | | empower-functions-medium | 32k context, based on [Mixtral 8x7B](https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1) | [model](https://huggingface.co/empower-dev/empower-functions-medium) | Balance in accuracy and cost | | llama3-empower-functions-large | 8k context, based on [Llama3 70B](https://huggingface.co/meta-llama/Meta-Llama-3-70B) | [model](https://huggingface.co/empower-dev/llama3-empower-functions-large) | 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](https://github.com/empower-ai/empower-functions?tab=readme-ov-file#prompt-raw-model), run it [locally](https://github.com/empower-ai/empower-functions?tab=readme-ov-file#running-locally) through llama-cpp-python, or use our [hosted API](https://github.com/empower-ai/empower-functions?tab=readme-ov-file#using-empower-api) ## Evaluation We benchmarked our model against a few other options, on [three datasets](https://huggingface.co/empower-dev): - 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](https://github.com/empower-ai/empower-functions) ## Demo App Check our healthcare appointment booking [demo](https://app.empower.dev/chat-demo) Want to customize the model? Please contact us at [founders@empower.dev](mailto:founders@empower.dev)