Nexus is a powerful and flexible Python package for managing AI agents and coordinating complex tasks using LLMs.
Project description
PrimisAI Nexus
PrimisAI Nexus is a powerful and flexible Python package for managing AI agents and coordinating complex tasks using LLMs. It provides a robust framework for creating, managing, and interacting with multiple specialized AI agents under the supervision of a central coordinator.
Features
- AI Base Class: A foundational class for AI interactions.
- Agent Class: Extends the AI base class with additional features for specialized tasks.
- Supervisor Class: Manages multiple agents, coordinates tasks, and handles user interactions.
- Debugger Utility: Integrated debugging capabilities for logging and troubleshooting.
- Flexible Configuration: Easy-to-use configuration options for language models and agents.
- Interactive Sessions: Built-in support for interactive chat sessions with the AI system.
Installation
You can install PrimisAI Nexus directly from PyPI using pip:
pip install primisai
Building from Source
If you prefer to build the package from source, clone the repository and install it with pip:
git clone git@github.com:PrimisAI/nexus.git
cd nexus
pip install -e .
Quick Start
Here's a simple example to get you started with Nexus:
from primisai.nexus.core import AI, Agent, Supervisor
from primisai.nexus.utils.debugger import Debugger
# Configure your OpenAI API key
llm_config = {
"api_key": "your-api-key-here",
"model": "gpt-4o",
"base_url": "https://api.openai.com/v1",
}
# Create a supervisor
supervisor = Supervisor("MainSupervisor", llm_config)
# Create and register agents
agent1 = Agent("Agent1", llm_config, system_message="You are a helpful assistant.")
agent2 = Agent("Agent2", llm_config, system_message="You are a creative writer.")
supervisor.register_agent(agent1)
supervisor.register_agent(agent2)
# Start an interactive session
supervisor.display_agent_graph()
supervisor.start_interactive_session()
Documentation
For detailed documentation on each module and class, please refer to the inline docstrings in the source code.
Advanced Usage
PrimisAI Nexus allows for complex interactions between multiple agents. You can create specialized agents for different tasks, register them with a supervisor, and let the supervisor manage the flow of information and task delegation.
# Example of creating a specialized agent with tools
tools = [
{
"metadata": {
"name": "search_tool",
"description": "Searches the internet for information"
},
"tool": some_search_function
}
]
research_agent = Agent("Researcher", llm_config, tools=tools, system_message="You are a research assistant.", use_tools=True)
supervisor.register_agent(research_agent)
License
This project is licensed under the MIT License.
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 primisai-0.2.2.tar.gz.
File metadata
- Download URL: primisai-0.2.2.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ec37a835bc3d8f40f4d7a777f7430455be3d46eeaed6a182aad53649eeff67d
|
|
| MD5 |
6ff7772e9dfb6187e69e5c39374cd545
|
|
| BLAKE2b-256 |
c17491be94e59d9423b224f619ac703415a4392477954d7ce5fc1d4a1edee2a1
|
File details
Details for the file primisai-0.2.2-py3-none-any.whl.
File metadata
- Download URL: primisai-0.2.2-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
032dcc672c2f8fee7c2d2f6be7b056bbb0d5115cb81a7229c77633afba2aad81
|
|
| MD5 |
e95c09619d0ee3798968754e68e772e0
|
|
| BLAKE2b-256 |
f774e86d1aee5741acd690545443c6abba5e4f7b5a1956642aa1e29e0f493674
|