-
Notifications
You must be signed in to change notification settings - Fork 1
FAQ
GENESIS (Generative Networked System for Intelligent Services) is a Python framework for building distributed AI agent networks using RTI Connext DDS for production-grade reliability.
DDS provides:
- Zero-configuration discovery - No service registries or IP addresses
- Peer-to-peer communication - No central broker bottleneck
- QoS policies - Reliability, durability, deadlines built-in
- Real-time performance - Sub-millisecond latency
- Battle-tested - Used in aerospace, automotive, medical devices
Currently supported:
- OpenAI (GPT-4, GPT-4o, etc.)
- Anthropic (Claude) - via extending MonitoredAgent
Adding new providers requires ~150 lines of code. See Adding-LLM-Providers.
Yes. RTI offers:
- 60-day free evaluation - Full functionality
- Connext Express - Perpetual, participant-limited
- University Program - Free for academic use
Run ./rti_setup.sh for guided license setup.
Python 3.10.x is required. Other versions may work but are not tested.
Currently, GENESIS is tested on macOS and Linux. Windows support is planned.
Common causes:
- Service not running or on different DDS domain
- Forgot to call
self._advertise_functions()in__init__ - Not enough time for DDS discovery (wait 2-3 seconds)
- Network firewall blocking UDP ports 7400+
Debug with: rtiddsspy -domainId 0
Use different DDS domains:
# Production
export GENESIS_DOMAIN_ID=0
# Testing
export GENESIS_DOMAIN_ID=5Use the @genesis_tool decorator:
from genesis_lib.decorators import genesis_tool
class MyAgent(OpenAIGenesisAgent):
@genesis_tool
async def my_tool(self, param: str) -> str:
"""Tool description for LLM."""
return f"Result: {param}"Enable agent communication in the constructor:
agent = OpenAIGenesisAgent(
agent_name="MyAgent",
enable_agent_communication=True
)Other agents are automatically discovered and appear as tools.
When 200+ functions are discovered, the FunctionClassifier uses a lightweight LLM to select 5-10 relevant functions. This provides:
- 90%+ token reduction
- Faster responses
- Better accuracy
DDS provides sub-millisecond latency for local communication. Network latency depends on your infrastructure.
Set the environment variable:
export NDDSHOME="/Applications/rti_connext_dds-7.3.0"Or run ./rti_setup.sh --configure
- Check agent is in READY state
- Verify LLM API key is set
- Check for errors in agent logs
- Ensure agent hasn't crashed (check process)
Check for:
- Network issues (firewall, VPN)
- Resource limits exceeded
- Service crash (check logs)
- GitHub Issues: Bug reports and feature requests
- Email: genesis@rti.com
- RTI Support: For DDS-specific issues
- Getting-Started - Installation guide
- Architecture - System design
- Examples - Code samples