A core framework for multi-agent LLM ecosystems
Project description
LangSwarm-Core
LangSwarm-Core is a framework designed to support multi-agent systems using Large Language Models (LLMs). It provides utilities, memory management, logging integration, and agent orchestration tools to build robust AI ecosystems with modularity and flexibility.
Features
- Agent Wrappers: Easily integrate with LangChain, OpenAI, Hugging Face, and LlamaIndex agents.
- Memory Management: Support for in-memory or external memory, with customizable options.
- Logging: Seamless integration with LangSmith for advanced logging and tracing.
- Factory Design: Create and manage multiple agents with configurable setups.
- Utilities: Helper functions for token management, text cleaning, and cost estimation.
- Registry: Centralized agent registry to manage and access agents dynamically.
Installation
Prerequisites
- Python 3.8 or higher
- Install dependencies:
pip install -r requirements.txt
From PyPI
pip install langswarm-core
Usage
Quick Start
Here's an example of how to use LangSwarm-Core to create an agent and interact with it:
from core.factory.agents import AgentFactory
# Create a LangChain agent
agent = AgentFactory.create(
name="example_agent",
agent_type="langchain-openai",
memory=[],
langsmith_api_key="your-langsmith-api-key",
model="gpt-4"
)
# Use the agent to respond to queries
response = agent.chat("What is LangSwarm?")
print(response)
Memory Integration
LangSwarm-Core supports memory out of the box. Here's how to initialize an agent with memory:
from core.factory.agents import AgentFactory
memory = [] # Initialize in-memory storage
agent = AgentFactory.create(
name="memory_agent",
agent_type="langchain-openai",
memory=memory,
model="gpt-4"
)
response = agent.chat("Remember this: LangSwarm is awesome.")
print(response)
Components
Wrappers
Wrappers add modular capabilities such as:
- Memory management (
MemoryMixin) - Logging integration (
LoggingMixin)
Utilities
Helper functions for:
- Token and cost estimation
- Text processing
- JSON and YAML validation
Factory
Use the AgentFactory to easily create and configure agents:
agent = AgentFactory.create(
name="example",
agent_type="llamaindex",
documents=["Sample text for indexing"]
)
Development
Setting Up the Environment
- Clone the repository:
git clone https://github.com/aekdahl/langswarm-core.git cd langswarm-core
- Create a virtual environment:
python3 -m venv venv source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
Running Tests
Tests are located in the tests/ directory. Run them using pytest:
pytest
Contributing
We welcome contributions! To get started:
- Fork the repository.
- Create a feature branch.
- Make your changes and write tests.
- Submit a pull request.
Roadmap
- Add support for additional LLM providers.
- Expand orchestration capabilities with reinforcement learning agents.
- Develop CLI tools for managing agents.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Acknowledgments
LangSwarm-Core relies on several amazing libraries, including:
Feel free to modify this to better fit your specific project details or branding!
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 langswarm_core-0.0.8.tar.gz.
File metadata
- Download URL: langswarm_core-0.0.8.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e737c1c2d5991f9cc995389d44d0e84578bfef83c9bdea874cd84565ec55495
|
|
| MD5 |
2b9eadd0cb4f9110fb3cc8e03c2b2ace
|
|
| BLAKE2b-256 |
83282d4c6f587dc78dcee00f18758fe43b0af44383a205089334b01b03006566
|
File details
Details for the file langswarm_core-0.0.8-py3-none-any.whl.
File metadata
- Download URL: langswarm_core-0.0.8-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de86c5b8abd98c67276079d962433e4085b238f7c3ba37f5084c5ed624ecdd2c
|
|
| MD5 |
2546b2f0efb89d5f6200637dcd46f802
|
|
| BLAKE2b-256 |
ff4fd50febf37e89d458de629aedfc044ed0838f408db609f8e9b16200169f16
|