Skip to main content

Intelligent Simulation Orchestration for Large Language Models

Project description

ISOPro: Pro Tools for Intelligent Simulation Orchestration for Large Language Models

ISOPRO is a powerful and flexible Python package designed for creating, managing, and analyzing simulations involving Large Language Models (LLMs). It provides a comprehensive suite of tools for reinforcement learning, conversation simulations, adversarial testing, custom environment creation, and advanced orchestration of multi-agent systems.

Features

  • Custom Environment Creation: Easily create and manage custom simulation environments for LLMs. COMING SOON
  • Conversation Simulation: Simulate and analyze conversations with AI agents using various user personas. COMING SOON
  • Adversarial Testing: Conduct adversarial simulations to test the robustness of LLM-based systems. COMING SOON
  • Reinforcement Learning: Implement and experiment with RL algorithms in LLM contexts. COMING SOON
  • Utility Functions: Analyze simulation results, calculate LLM metrics, and more.
  • Flexible Integration: Works with popular LLM platforms like OpenAI's GPT models, Claude (Anthropic), and Hugging Face models.
  • Orchestration Simulation: Manage and execute complex multi-agent simulations with different execution modes. NOW AVAILABLE

Installation

You can install ISOPRO directly from GitHub using pip:

pip install git+https://github.com/iso-ai/isopro.git

Orchestration Simulation

ISOPRO now includes powerful orchestration capabilities for managing complex multi-agent simulations. Here's an example of how to use the orchestration simulation feature:

from isopro.orchestration_simulation.main import OrchestrationEnv, AgentComponent
from isopro.orchestration_simulation.utils import setup_logging
from langchain.agents import create_react_agent
from langchain_openai import OpenAI
from langchain.tools import Tool

# Set up logging
logger = setup_logging(log_file="simulation.log")

# Create tools and agent
tools = [
    Tool(name="Search", func=lambda x: "Search result for " + x, description="Search the web"),
    Tool(name="Calculator", func=lambda x: eval(x), description="Perform calculations")
]
llm = OpenAI(temperature=0)
agent = create_react_agent(llm, tools, "You are a helpful assistant.")

# Create simulation environment
sim_env = OrchestrationEnv()

# Add agent components
sim_env.add_component(AgentComponent(agent, tools))

# Run simulations in different modes
sequence_results = sim_env.run_simulation(mode='sequence', input_data="What is 2+2 and who was the first person on the moon?")
parallel_results = sim_env.run_simulation(mode='parallel', input_data="Compare the populations of New York and Tokyo.")
node_results = sim_env.run_simulation(mode='node', input_data="Explain the theory of relativity.")

# Log results
logger.info(f"Sequence mode results: {sequence_results}")
logger.info(f"Parallel mode results: {parallel_results}")
logger.info(f"Node mode results: {node_results}")

This example demonstrates how to set up a multi-agent simulation environment, add agent components, and run simulations in different execution modes (sequence, parallel, and node-based).

For more detailed examples, check out the Jupyter notebooks in the examples/ directory.

Documentation

For full documentation, including API references and advanced usage examples, please visit our GitHub Wiki.

License

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

Citation

If you use ISOPRO in your research, please cite it as follows:

@software{isopro2024,
  author = {Jazmia Henry},
  title = {ISOPRO: Intelligent Simulation Orchestration for Large Language Models},
  year = {2024},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/iso-ai/isopro}}
}

Contact

For questions or support, please open an issue on our GitHub issue tracker.

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

isopro-0.0.3.tar.gz (35.0 kB view details)

Uploaded Source

Built Distribution

isopro-0.0.3-py3-none-any.whl (48.3 kB view details)

Uploaded Python 3

File details

Details for the file isopro-0.0.3.tar.gz.

File metadata

  • Download URL: isopro-0.0.3.tar.gz
  • Upload date:
  • Size: 35.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.8

File hashes

Hashes for isopro-0.0.3.tar.gz
Algorithm Hash digest
SHA256 7ca52b1b310d9c97624ba883e0d82f9e9e6cdd2d6832ae1cc0df4b29f20cef5c
MD5 65ba7b7f229eed566fccb7f88e077113
BLAKE2b-256 927a85a9c999a1ee9859f6b50a693d550f47fa0342fa9d063b574b2cfa323670

See more details on using hashes here.

File details

Details for the file isopro-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: isopro-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 48.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.8

File hashes

Hashes for isopro-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4da75a8e96b4558c9d79c6343209f2c6ee2aaf7b5f190ac40f39cd871fe5913e
MD5 41c090bd3cb07fcbb631a071ed559ecc
BLAKE2b-256 415d9037c43566c8a07a5c4d3e559e00310556c6488455f603aab849c5af9641

See more details on using hashes here.

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