parent
0122731b31
commit
c90d628712
@ -0,0 +1,164 @@
|
|||||||
|
# AOP Server Setup Example
|
||||||
|
|
||||||
|
This example demonstrates how to set up an Agent Orchestration Protocol (AOP) server with multiple specialized agents.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The AOP server allows you to deploy multiple agents that can be discovered and called by other agents or clients in the network. This example shows how to create a server with specialized agents for different tasks.
|
||||||
|
|
||||||
|
## Code Example
|
||||||
|
|
||||||
|
```python
|
||||||
|
from swarms import Agent
|
||||||
|
from swarms.structs.aop import (
|
||||||
|
AOP,
|
||||||
|
)
|
||||||
|
|
||||||
|
# Create specialized agents
|
||||||
|
research_agent = Agent(
|
||||||
|
agent_name="Research-Agent",
|
||||||
|
agent_description="Expert in research, data collection, and information gathering",
|
||||||
|
model_name="anthropic/claude-sonnet-4-5",
|
||||||
|
max_loops=1,
|
||||||
|
top_p=None,
|
||||||
|
dynamic_temperature_enabled=True,
|
||||||
|
system_prompt="""You are a research specialist. Your role is to:
|
||||||
|
1. Gather comprehensive information on any given topic
|
||||||
|
2. Analyze data from multiple sources
|
||||||
|
3. Provide well-structured research findings
|
||||||
|
4. Cite sources and maintain accuracy
|
||||||
|
5. Present findings in a clear, organized manner
|
||||||
|
|
||||||
|
Always provide detailed, factual information with proper context.""",
|
||||||
|
)
|
||||||
|
|
||||||
|
analysis_agent = Agent(
|
||||||
|
agent_name="Analysis-Agent",
|
||||||
|
agent_description="Expert in data analysis, pattern recognition, and generating insights",
|
||||||
|
model_name="anthropic/claude-sonnet-4-5",
|
||||||
|
max_loops=1,
|
||||||
|
top_p=None,
|
||||||
|
dynamic_temperature_enabled=True,
|
||||||
|
system_prompt="""You are an analysis specialist. Your role is to:
|
||||||
|
1. Analyze data and identify patterns
|
||||||
|
2. Generate actionable insights
|
||||||
|
3. Create visualizations and summaries
|
||||||
|
4. Provide statistical analysis
|
||||||
|
5. Make data-driven recommendations
|
||||||
|
|
||||||
|
Focus on extracting meaningful insights from information.""",
|
||||||
|
)
|
||||||
|
|
||||||
|
writing_agent = Agent(
|
||||||
|
agent_name="Writing-Agent",
|
||||||
|
agent_description="Expert in content creation, editing, and communication",
|
||||||
|
model_name="anthropic/claude-sonnet-4-5",
|
||||||
|
max_loops=1,
|
||||||
|
top_p=None,
|
||||||
|
dynamic_temperature_enabled=True,
|
||||||
|
system_prompt="""You are a writing specialist. Your role is to:
|
||||||
|
1. Create engaging, well-structured content
|
||||||
|
2. Edit and improve existing text
|
||||||
|
3. Adapt tone and style for different audiences
|
||||||
|
4. Ensure clarity and coherence
|
||||||
|
5. Follow best practices in writing
|
||||||
|
|
||||||
|
Always produce high-quality, professional content.""",
|
||||||
|
)
|
||||||
|
|
||||||
|
code_agent = Agent(
|
||||||
|
agent_name="Code-Agent",
|
||||||
|
agent_description="Expert in programming, code review, and software development",
|
||||||
|
model_name="anthropic/claude-sonnet-4-5",
|
||||||
|
max_loops=1,
|
||||||
|
top_p=None,
|
||||||
|
dynamic_temperature_enabled=True,
|
||||||
|
system_prompt="""You are a coding specialist. Your role is to:
|
||||||
|
1. Write clean, efficient code
|
||||||
|
2. Debug and fix issues
|
||||||
|
3. Review and optimize code
|
||||||
|
4. Explain programming concepts
|
||||||
|
5. Follow best practices and standards
|
||||||
|
|
||||||
|
Always provide working, well-documented code.""",
|
||||||
|
)
|
||||||
|
|
||||||
|
financial_agent = Agent(
|
||||||
|
agent_name="Financial-Agent",
|
||||||
|
agent_description="Expert in financial analysis, market research, and investment insights",
|
||||||
|
model_name="anthropic/claude-sonnet-4-5",
|
||||||
|
max_loops=1,
|
||||||
|
top_p=None,
|
||||||
|
dynamic_temperature_enabled=True,
|
||||||
|
system_prompt="""You are a financial specialist. Your role is to:
|
||||||
|
1. Analyze financial data and markets
|
||||||
|
2. Provide investment insights
|
||||||
|
3. Assess risk and opportunities
|
||||||
|
4. Create financial reports
|
||||||
|
5. Explain complex financial concepts
|
||||||
|
|
||||||
|
Always provide accurate, well-reasoned financial analysis.""",
|
||||||
|
)
|
||||||
|
|
||||||
|
# Basic usage - individual agent addition
|
||||||
|
deployer = AOP("MyAgentServer", verbose=True, port=5932)
|
||||||
|
|
||||||
|
agents = [
|
||||||
|
research_agent,
|
||||||
|
analysis_agent,
|
||||||
|
writing_agent,
|
||||||
|
code_agent,
|
||||||
|
financial_agent,
|
||||||
|
]
|
||||||
|
|
||||||
|
deployer.add_agents_batch(agents)
|
||||||
|
|
||||||
|
deployer.run()
|
||||||
|
```
|
||||||
|
|
||||||
|
## Key Components
|
||||||
|
|
||||||
|
### 1. Agent Creation
|
||||||
|
|
||||||
|
Each agent is created with:
|
||||||
|
|
||||||
|
- **agent_name**: Unique identifier for the agent
|
||||||
|
- **agent_description**: Brief description of the agent's capabilities
|
||||||
|
- **model_name**: The language model to use
|
||||||
|
- **system_prompt**: Detailed instructions defining the agent's role and behavior
|
||||||
|
|
||||||
|
### 2. AOP Server Setup
|
||||||
|
|
||||||
|
- **Server Name**: "MyAgentServer" - identifies your server
|
||||||
|
- **Port**: 5932 - the port where the server will run
|
||||||
|
- **Verbose**: True - enables detailed logging
|
||||||
|
|
||||||
|
### 3. Agent Registration
|
||||||
|
|
||||||
|
- **add_agents_batch()**: Registers multiple agents at once
|
||||||
|
- Agents become available for discovery and remote calls
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
1. **Start the Server**: Run the script to start the AOP server
|
||||||
|
2. **Agent Discovery**: Other agents or clients can discover available agents
|
||||||
|
3. **Remote Calls**: Agents can be called remotely by their names
|
||||||
|
|
||||||
|
## Server Features
|
||||||
|
|
||||||
|
- **Agent Discovery**: Automatically registers agents for network discovery
|
||||||
|
- **Remote Execution**: Agents can be called from other network nodes
|
||||||
|
- **Load Balancing**: Distributes requests across available agents
|
||||||
|
- **Health Monitoring**: Tracks agent status and availability
|
||||||
|
|
||||||
|
## Configuration Options
|
||||||
|
|
||||||
|
- **Port**: Change the port number as needed
|
||||||
|
- **Verbose**: Set to False for reduced logging
|
||||||
|
- **Server Name**: Use a descriptive name for your server
|
||||||
|
|
||||||
|
## Next Steps
|
||||||
|
|
||||||
|
- See [AOP Cluster Example](aop_cluster_example.md) for multi-server setups
|
||||||
|
- Check [AOP Reference](../structs/aop.md) for advanced configuration options
|
||||||
|
- Explore agent communication patterns in the examples directory
|
Loading…
Reference in new issue