Spaces:
Runtime error
Runtime error
import os | |
from dotenv import load_dotenv | |
from swarms import Agent | |
from swarm_models import OpenAIChat | |
from swarms.structs.swarm_router import SwarmRouter | |
load_dotenv() | |
# Get the OpenAI API key from the environment variable | |
api_key = os.getenv("GROQ_API_KEY") | |
# Model | |
model = OpenAIChat( | |
openai_api_base="https://api.groq.com/openai/v1", | |
openai_api_key=api_key, | |
model_name="llama-3.1-70b-versatile", | |
temperature=0.1, | |
) | |
# Initialize specialized agents | |
data_extractor_agent = Agent( | |
agent_name="Data-Extractor", | |
system_prompt="You are a data extraction specialist. Extract relevant information from provided content.", | |
llm=model, | |
max_loops=1, | |
autosave=True, | |
verbose=True, | |
dynamic_temperature_enabled=True, | |
saved_state_path="data_extractor_agent.json", | |
user_name="pe_firm", | |
retry_attempts=1, | |
context_length=200000, | |
output_type="string", | |
) | |
summarizer_agent = Agent( | |
agent_name="Document-Summarizer", | |
system_prompt="You are a document summarization specialist. Provide clear and concise summaries.", | |
llm=model, | |
max_loops=1, | |
autosave=True, | |
verbose=True, | |
dynamic_temperature_enabled=True, | |
saved_state_path="summarizer_agent.json", | |
user_name="pe_firm", | |
retry_attempts=1, | |
context_length=200000, | |
output_type="string", | |
) | |
financial_analyst_agent = Agent( | |
agent_name="Financial-Analyst", | |
system_prompt="You are a financial analysis specialist. Analyze financial aspects of content.", | |
llm=model, | |
max_loops=1, | |
autosave=True, | |
verbose=True, | |
dynamic_temperature_enabled=True, | |
saved_state_path="financial_analyst_agent.json", | |
user_name="pe_firm", | |
retry_attempts=1, | |
context_length=200000, | |
output_type="string", | |
) | |
market_analyst_agent = Agent( | |
agent_name="Market-Analyst", | |
system_prompt="You are a market analysis specialist. Analyze market-related aspects.", | |
llm=model, | |
max_loops=1, | |
autosave=True, | |
verbose=True, | |
dynamic_temperature_enabled=True, | |
saved_state_path="market_analyst_agent.json", | |
user_name="pe_firm", | |
retry_attempts=1, | |
context_length=200000, | |
output_type="string", | |
) | |
operational_analyst_agent = Agent( | |
agent_name="Operational-Analyst", | |
system_prompt="You are an operational analysis specialist. Analyze operational aspects.", | |
llm=model, | |
max_loops=1, | |
autosave=True, | |
verbose=True, | |
dynamic_temperature_enabled=True, | |
saved_state_path="operational_analyst_agent.json", | |
user_name="pe_firm", | |
retry_attempts=1, | |
context_length=200000, | |
output_type="string", | |
) | |
# Initialize the SwarmRouter | |
router = SwarmRouter( | |
name="pe-document-analysis-swarm", | |
description="Analyze documents for private equity due diligence and investment decision-making", | |
max_loops=1, | |
agents=[ | |
data_extractor_agent, | |
summarizer_agent, | |
financial_analyst_agent, | |
market_analyst_agent, | |
operational_analyst_agent, | |
], | |
swarm_type="SequentialWorkflow", # or "SequentialWorkflow" or "ConcurrentWorkflow" or | |
auto_generate_prompts=True, | |
output_type="all", | |
) | |
# Example usage | |
if __name__ == "__main__": | |
# Run a comprehensive private equity document analysis task | |
result = router.run( | |
"Where is the best place to find template term sheets for series A startups. Provide links and references" | |
) | |
print(result) | |