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 SimulationEnvironment, 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 = SimulationEnvironment()

# Add agent components
for _ in range(3):
    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.1.tar.gz (35.0 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: isopro-0.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 05d7a8632505ce56476805917f274cba84135b16b46e895d091c35e3dfbf18cc
MD5 6e6e720b0d21aa83f7b5e321e57fbe43
BLAKE2b-256 99ff15e8e1a80e1a488784d8f21789bb000527ebdb1bf7b7356245ccfb58d6fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: isopro-0.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5ae375883264ec2458eb04c39084c24c99ebcecebe82300e3ff66c3276817c1c
MD5 12795847564108d5cddb75a3e3e06dea
BLAKE2b-256 37bc0a0dcfa63407bb099d0956d29dc3ea9b3ce2fe1402599f615c31f8b829f9

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