Skip to main content

An atelier for AI Agents.

Project description

aitelier 🎨🤖

An atelier for AI Agents running on your Mac thanks to mlx-llm.

Why aitelier?

aitelier is not just another agent library — it’s my personal playground to learn how AI agents work

  • Learning by doing 🛠️: I want to understand every part of building AI agents. Instead of just using existing tools, I’m creating this library to figure out how things work from the ground up.

  • Exploration, not duplication 🧐: aitelier isn’t meant to compete with other agent libraries. My goal is to learn, not to replace. Each update happens when I discover a new concept or method I want to explore.

  • Deep understanding through practice 🧠: building from scratch helps me go beyond the surface. By recreating different paradigms, I can focus on truly understanding the details and improving my AI development skills.

aitelier will grow as I dive into new ideas and challenge myself to learn more. 🎯

I wrote an article about the motivation behind aitelier and how I implemented the first version of the library. You can read it here.

Supported Agents

  • Simple Agent: A basic agent that takes a query and returns a response
  • ReAct Agent: An agent the follows the Reasoning and Act paradigm paper

Simple Agent Example

from aitelier.model import LLM
from aitelier.agents import Agent
from aitelier.tool import Tool

@Tool
def multiply(a: float, b: float) -> float:
    return a * b

model = LLM("llama_3_2_3b_instruct")
agent = Agent(model=model, tools=[multiply])

agent("What is 3 multiplied by 4?")

ReAct Agent

The ReAct agent is a more advanced agent that follows the Reasoning and Act paradigm. The agent goes through the Think, Act, Observe states to produce the final answer based on a set of tools.

ReAct Agent in action

This is how you can use the ReAct Agent in aitelier:

from aitelier.model import LLM
from aitelier.agents import ReActAgent
from aitelier.tool import Tool

@Tool
def divide(a: float, b: float) -> float:
    if b == 0:
        return "Division by zero is not allowed"
    return a / b

model = LLM("llama_3_2_3b_instruct")
agent = ReActAgent(model=model, tools=[divide])

agent("What is 10 divided by 2?")

Supported Models

aitelier natively supports mlx-llm and Claude (with own API key)

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

aitelier-0.1.0.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

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

aitelier-0.1.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file aitelier-0.1.0.tar.gz.

File metadata

  • Download URL: aitelier-0.1.0.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.6

File hashes

Hashes for aitelier-0.1.0.tar.gz
Algorithm Hash digest
SHA256 af5a5e8e5b3887cb0b2416080649daa27d558512b2f5dbed9b0114b691efa0db
MD5 774ae4a88891178b0d478b1b6ab3c9fa
BLAKE2b-256 ee0b1fa941fbef0f42358c90623bdd14d88f669912a9001fe1779e0b69d8730c

See more details on using hashes here.

File details

Details for the file aitelier-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: aitelier-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.6

File hashes

Hashes for aitelier-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f992a4761b9dad38772573e78440159185cafe9023369c67bdfa2ba4fd0216ad
MD5 b2eddd10139895516cd33040e6dcf41a
BLAKE2b-256 303803b3da31bd9154170375f4fe8b7b11fafdb64c248c1e3ee25293e64308ba

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