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 🧐:
aitelierisn’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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af5a5e8e5b3887cb0b2416080649daa27d558512b2f5dbed9b0114b691efa0db
|
|
| MD5 |
774ae4a88891178b0d478b1b6ab3c9fa
|
|
| BLAKE2b-256 |
ee0b1fa941fbef0f42358c90623bdd14d88f669912a9001fe1779e0b69d8730c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f992a4761b9dad38772573e78440159185cafe9023369c67bdfa2ba4fd0216ad
|
|
| MD5 |
b2eddd10139895516cd33040e6dcf41a
|
|
| BLAKE2b-256 |
303803b3da31bd9154170375f4fe8b7b11fafdb64c248c1e3ee25293e64308ba
|