Skip to main content

speedy, performant and small tool calling agents

Project description

Dria Agent

Dria Agent is a lightweight pip package to use fastest and most performant models for function calling on edge devices, tiny-agent-α.

Tiny-Agent-α is an extension of Dria-Agent-a, trained on top of the Qwen2.5-Coder series to be used in edge devices. These models are carefully fine-tuned with quantization aware training to minimize performance degradation after quantization. The smallest model is 0.5B with 4bit quantization (398MB on disk), and the largest model is 3B with 4bit quantization.

Installation

To install the package run: (Best for CPU inference)

pip install dria_agent
pip install 'dria_agent[mlx]' # To use MLX as backend for macOS. 
pip install 'dria_agent[huggingface]' # For HuggingFace backend for GPU.
pip install 'dria_agent[mlx, tools]' # In order to use extra tooling select a backend

Quick Start

Write your functions in pure python, decorate them with @tool to expose them to the agent.

from dria_agent import tool

@tool
def check_availability(day: str, start_time: str, end_time: str) -> bool:
    # Your implementation here
    return True

Create an agent:

from dria_agent import ToolCallingAgentFactory

agent = ToolCallingAgentFactory(
    tools=[check_availability], backend="ollama"
)

Use agent.run(query) to execute tasks with tools.

query = "Check if I'm available on Monday from 10:00 to 11:00"
execution = agent.run(query, print_results=True)

Models

Model Description HF Download Link Ollama Tag Size
Tiny-Agent-a-3B (8bit) High performance and reasoning Download driaforall/tiny-agent-a:3B-q8_0 3.3 GB
Tiny-Agent-a-3B (4bit) Tradeoff 3B quality for memory Download driaforall/tiny-agent-a:3B-q4_K_M 1.9 GB
Tiny-Agent-a-1.5B (8bit) Balanced performance and speed Download driaforall/tiny-agent-a:1.5B-q8_0 1.6 GB
Tiny-Agent-a-1.5B (4bit) Faster CPU inference, performance tradeoff Download driaforall/tiny-agent-a:1.5B-q4_K_M 986 MB
Tiny-Agent-a-0.5B (8bit) Ultra-light Download driaforall/tiny-agent-a:0.5B-q8_0 531 MB

a fast and powerful tool calling model designed to run on edge devices.

3B 8bit high performance and quality download

3B 4bit balanced performance and speed download

1.5B 8bit fast CPU inference download

1.5B 4bit faster CPU inference download

0.5B 8bit ultra-light download

Evaluation & Performance

We evaluate the model on the Dria-Pythonic-Agent-Benchmark (DPAB): The benchmark we curated with a synthetic data generation +model-based validation + filtering and manual selection to evaluate LLMs on their Pythonic function calling ability, spanning multiple scenarios and tasks. See blog for more information.

Below are the DPAB results:

Current benchmark results for various models (strict):

Model Name Pythonic JSON
Closed Models
Claude 3.5 Sonnet 87 45
gpt-4o-2024-11-20 60 30
Open Models
> 100B Parameters
DeepSeek V3 (685B) 63 33
MiniMax-01 62 40
Llama-3.1-405B-Instruct 60 38
> 30B Parameters
Qwen-2.5-Coder-32b-Instruct 68 32
Qwen-2.5-72b-instruct 65 39
Llama-3.3-70b-Instruct 59 40
QwQ-32b-Preview 47 21
< 20B Parameters
Phi-4 (14B) 55 35
Qwen2.5-Coder-7B-Instruct 44 39
Qwen-2.5-7B-Instruct 47 34
Tiny-Agent-a-3B 72 34
Qwen2.5-Coder-3B-Instruct 26 37
Tiny-Agent-a-1.5B 73 30

Citation

@misc{Dria-Agent-a,
      url={https://huggingface.co/blog/andthattoo/dria-agent-a},
      title={Dria-Agent-a},
      author={"andthattoo", "Atakan Tekparmak"}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dria_agent-0.1.54.tar.gz (32.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dria_agent-0.1.54-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file dria_agent-0.1.54.tar.gz.

File metadata

  • Download URL: dria_agent-0.1.54.tar.gz
  • Upload date:
  • Size: 32.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Darwin/23.6.0

File hashes

Hashes for dria_agent-0.1.54.tar.gz
Algorithm Hash digest
SHA256 275af39c6d41d001f686c96d0caf35293673505979a50c78f8e1ab8d1b1d1903
MD5 040fc9394a46a8d892de80fe46b63e53
BLAKE2b-256 f7c7f4cb77c359317591f67c2be6aa400c85597e557a3b0765e2e567b0ca284b

See more details on using hashes here.

File details

Details for the file dria_agent-0.1.54-py3-none-any.whl.

File metadata

  • Download URL: dria_agent-0.1.54-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Darwin/23.6.0

File hashes

Hashes for dria_agent-0.1.54-py3-none-any.whl
Algorithm Hash digest
SHA256 e0fee49d3387341747c5e89aac370f258da07f68d21ac9be28dc99e4e0894632
MD5 7de6eaa39bb628fd9dd90d42ed773d38
BLAKE2b-256 9cffba214dd56444f082b6ac75e747245b95230e8b8fad25c7eb03c4c3c22072

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page