Skip to main content

A versatile framework designed to facilitate the creation and management of intelligent agents.

Project description

Atomic Agents

Atomic Agents

PyPI version

Philosophy

The Atomic Agents framework is designed to be modular, extensible, and easy to use. Components in the Atomic Agents Framework should always be as small and single-purpose as possible, similar to design system components in Atomic Design. Even though Atomic Design cannot be directly applied to AI agent architecture, a lot of ideas were taken from it. The resulting framework provides a set of tools and agents that can be combined to create powerful applications. The framework is built on top of Instructor and leverages the power of Pydantic for data validation and serialization.

Atomic Agents Architecture ## Installation To install Atomic Agents, you can use pip:
pip install atomic-agents

Alternatively, to install the necessary dependencies from the repository, run the following command:

pip install -r requirements.txt

Usage examples & Docs

open source docs bad

While we do our best to provide excellent documentation, we are aware that it is not perfect. If you see anything missing or anything that could be improved, please don't hesitate to open an issue or a pull request.

Examples

All examples can be found in the examples directory. We do our best to thoroughly document each example, but if something is unclear, please don't hesitate to open an issue or a pull request in order to improve the documentation.

Docs

The documentation can be found in the docs directory. Here you will find both API documentation and some general guides such as How to create a new tool.

Instructor & Model Compatibility

Atomic Agents depends on the Instructor package. This means that in all examples where OpenAI is used, any other API supported by Instructor can be used, such as Cohere, Anthropic, Gemini, and more. For a complete list please refer to the instructor documentation on its GitHub page.

Additionally, Atomic Agents should work with Ollama or LMStudio. If the default settings do not work due to your local server not supporting tool-calling, you can set the mode to JSON. For example:

from instructor import BaseChatAgent, Mode

agent = BaseChatAgent(
    client=instructor.from_openai(
      openai.OpenAI(
        base_url='http://localhost:1234/v1', api_key='local'
      ), 
      mode=Mode.JSON
    ),
    model='localmodel',
)

Contributing

We welcome contributions! Please follow these steps to contribute:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-branch)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add some feature')
  5. Push to the branch (git push origin feature-branch)
  6. Open a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

atomic_agents-0.1.40.tar.gz (16.6 kB view hashes)

Uploaded Source

Built Distribution

atomic_agents-0.1.40-py3-none-any.whl (22.6 kB view hashes)

Uploaded Python 3

Supported by

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