You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/agent_with_caching_adaptive...

204 lines
8.1 KiB

from swarms import Agent
from swarm_models import OpenAIChat
from swarms_memory import ChromaDB
import os
# Initialize memory for agents
memory_risk = ChromaDB(metric="cosine", output_dir="risk_analysis_results")
memory_sustainability = ChromaDB(metric="cosine", output_dir="sustainability_results")
# Initialize model
model = OpenAIChat(api_key=os.getenv("OPENAI_API_KEY"), model_name="gpt-4o-mini", temperature=0.1)
# Initialize Risk Analysis Agent
risk_analysis_agent = Agent(
agent_name="Delaware-C-Corp-Risk-Analysis-Agent",
system_prompt="You are a specialized risk analysis agent focused on assessing risks.",
agent_description="Performs risk analysis for Delaware C Corps.",
llm=model,
max_loops=3,
autosave=True,
dashboard=False,
verbose=True,
dynamic_temperature_enabled=True,
saved_state_path="delaware_c_corp_risk_analysis_agent.json",
user_name="risk_analyst_user",
retry_attempts=2,
context_length=200000,
long_term_memory=memory_risk,
)
# Initialize Sustainability Agent
sustainability_agent = Agent(
agent_name="Delaware-C-Corp-Sustainability-Agent",
system_prompt="You are a sustainability analysis agent focused on ESG factors.",
agent_description="Analyzes sustainability practices for Delaware C Corps.",
llm=model,
max_loops=2,
autosave=True,
dashboard=False,
verbose=True,
dynamic_temperature_enabled=False,
saved_state_path="delaware_c_corp_sustainability_agent.json",
user_name="sustainability_specialist",
retry_attempts=3,
context_length=180000,
long_term_memory=memory_sustainability,
)
# Run the agents
risk_analysis_agent.run("What are the top financial and operational risks for a Delaware C Corp in healthcare?")
sustainability_agent.run("How can a Delaware C Corp in manufacturing improve its sustainability practices?")
from reflection_tuner import ReflectionTuner
# Initialize Reflection Tuners for each agent
risk_reflection_tuner = ReflectionTuner(risk_analysis_agent, reflection_steps=2)
sustainability_reflection_tuner = ReflectionTuner(sustainability_agent, reflection_steps=2)
# Run the agents with Reflection Tuning
risk_response = risk_reflection_tuner.reflect_and_tune("What are the top financial and operational risks for a Delaware C Corp in healthcare?")
sustainability_response = sustainability_reflection_tuner.reflect_and_tune("How can a Delaware C Corp in manufacturing improve its sustainability practices?")
print("Risk Analysis Agent Response:", risk_response)
print("Sustainability Agent Response:", sustainability_response)
# Initialize agents from agents_with_new.yaml
# Import ReflectionTuner
from reflection_tuner import ReflectionTuner
# Initialize Reflection Tuner for all agents, including existing ones
deduction_agent = Agent(
agent_name="Delaware-C-Corp-Tax-Deduction-Agent",
system_prompt="Provide expert advice on tax deductions for Delaware C Corps.",
agent_description="Analyzes tax deduction strategies.",
llm=model,
max_loops=1,
autosave=True,
dashboard=False,
verbose=True,
dynamic_temperature_enabled=True,
saved_state_path="delaware_c_corp_tax_deduction_agent.json",
user_name="swarms_corp",
retry_attempts=1,
context_length=250000,
long_term_memory=memory_risk, # Reuse memory for testing purposes
)
optimization_agent = Agent(
agent_name="Delaware-C-Corp-Tax-Optimization-Agent",
system_prompt="Provide expert advice on tax optimization strategies for Delaware C Corps.",
agent_description="Analyzes tax optimization.",
llm=model,
max_loops=2,
autosave=True,
dashboard=False,
verbose=True,
dynamic_temperature_enabled=False,
saved_state_path="delaware_c_corp_tax_optimization_agent.json",
user_name="tax_optimization_user",
retry_attempts=3,
context_length=200000,
long_term_memory=memory_risk,
)
# Initialize Reflection Tuners
deduction_reflection_tuner = ReflectionTuner(deduction_agent, reflection_steps=2)
optimization_reflection_tuner = ReflectionTuner(optimization_agent, reflection_steps=2)
# Run agents with Reflection Tuning
deduction_response = deduction_reflection_tuner.reflect_and_tune("What are the most effective tax deduction strategies for a Delaware C Corp in tech?")
optimization_response = optimization_reflection_tuner.reflect_and_tune("How can a Delaware C Corp in finance optimize its tax strategy?")
print("Tax Deduction Agent Response:", deduction_response)
print("Tax Optimization Agent Response:", optimization_response)
from reflection_tuner import ReflectionTuner
import requests
def duckduckgo_search(query):
# Simple DuckDuckGo search function for Data-Collector agent
url = f"https://api.duckduckgo.com/?q={query}&format=json&pretty=1"
response = requests.get(url)
if response.status_code == 200:
return response.json().get("AbstractText", "No data found")
return "Failed to retrieve data"
# Initialize Planner and Data-Collector agents with DuckDuckGo search capability
planner_agent = Agent(
agent_name="Delaware-C-Corp-Planner-Agent",
system_prompt="Develop a quarterly strategic roadmap for a Delaware C Corp.",
agent_description="Creates detailed plans and schedules.",
llm=model,
max_loops=2,
autosave=True,
dashboard=False,
verbose=True,
dynamic_temperature_enabled=True,
saved_state_path="delaware_c_corp_planner_agent.json",
user_name="planner_user",
retry_attempts=2,
context_length=150000,
long_term_memory=memory_sustainability, # Reuse memory for demonstration purposes
)
data_collector_agent = Agent(
agent_name="Delaware-C-Corp-Data-Collector-Agent",
system_prompt="Collect and synthesize information from DuckDuckGo search.",
agent_description="Gathers data from open-source search engines.",
llm=model,
max_loops=3,
autosave=True,
dashboard=False,
verbose=True,
dynamic_temperature_enabled=True,
saved_state_path="delaware_c_corp_data_collector_agent.json",
user_name="data_collector_user",
retry_attempts=3,
context_length=200000,
long_term_memory=memory_risk, # Reuse memory for demonstration
)
# Initialize Reflection Tuners
planner_reflection_tuner = ReflectionTuner(planner_agent, reflection_steps=2)
data_collector_reflection_tuner = ReflectionTuner(data_collector_agent, reflection_steps=2)
# Run Planner agent with Reflection Tuning
planner_response = planner_reflection_tuner.reflect_and_tune("Create a quarterly strategic roadmap for a Delaware C Corp in biotech.")
print("Planner Agent Response:", planner_response)
# Run Data Collector agent with Reflection Tuning, using DuckDuckGo search
data_collector_task = "Find recent trends in tax strategies for corporations in the US."
search_result = duckduckgo_search(data_collector_task)
data_collector_response = data_collector_reflection_tuner.reflect_and_tune(f"{search_result}")
print("Data Collector Agent Response:", data_collector_response)
from token_cache_and_adaptive_factory import TokenCache, AdaptiveAgentFactory
# Initialize TokenCache and AdaptiveAgentFactory
token_cache = TokenCache(cache_duration_minutes=30) # Cache duration for tokens
adaptive_factory = AdaptiveAgentFactory(model, token_cache)
# Example of creating adaptive agents dynamically
adaptive_risk_agent = adaptive_factory.create_agent(
agent_name="Adaptive-Risk-Agent",
system_prompt="Assess new risk factors for changing economic conditions.",
task="Dynamic risk analysis in evolving markets.",
memory=memory_risk,
)
adaptive_sustainability_agent = adaptive_factory.create_agent(
agent_name="Adaptive-Sustainability-Agent",
system_prompt="Evaluate sustainability strategies in response to new regulations.",
task="Dynamic sustainability strategy for manufacturing.",
memory=memory_sustainability,
)
# Running adaptive agents
adaptive_risk_response = adaptive_risk_agent.run("Analyze potential economic risks for new market conditions.")
adaptive_sustainability_response = adaptive_sustainability_agent.run("Evaluate ESG strategies with upcoming regulation changes.")
print("Adaptive Risk Agent Response:", adaptive_risk_response)
print("Adaptive Sustainability Agent Response:", adaptive_sustainability_response)