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.
57 lines
1.5 KiB
57 lines
1.5 KiB
import os
|
|
|
|
from dotenv import load_dotenv
|
|
from swarm_models import OpenAIChat
|
|
|
|
from swarms import Agent
|
|
from swarms.prompts.finance_agent_sys_prompt import (
|
|
FINANCIAL_AGENT_SYS_PROMPT,
|
|
)
|
|
from new_features_examples.async_executor import HighSpeedExecutor
|
|
|
|
load_dotenv()
|
|
|
|
# Get the OpenAI API key from the environment variable
|
|
api_key = os.getenv("OPENAI_API_KEY")
|
|
|
|
# Create an instance of the OpenAIChat class
|
|
model = OpenAIChat(
|
|
openai_api_key=api_key, model_name="gpt-4o-mini", temperature=0.1
|
|
)
|
|
|
|
# Initialize the agent
|
|
agent = Agent(
|
|
agent_name="Financial-Analysis-Agent",
|
|
system_prompt=FINANCIAL_AGENT_SYS_PROMPT,
|
|
llm=model,
|
|
max_loops=1,
|
|
# autosave=True,
|
|
# dashboard=False,
|
|
# verbose=True,
|
|
# dynamic_temperature_enabled=True,
|
|
# saved_state_path="finance_agent.json",
|
|
# user_name="swarms_corp",
|
|
# retry_attempts=1,
|
|
# context_length=200000,
|
|
# return_step_meta=True,
|
|
# output_type="json", # "json", "dict", "csv" OR "string" soon "yaml" and
|
|
# auto_generate_prompt=False, # Auto generate prompt for the agent based on name, description, and system prompt, task
|
|
# # artifacts_on=True,
|
|
# artifacts_output_path="roth_ira_report",
|
|
# artifacts_file_extension=".txt",
|
|
# max_tokens=8000,
|
|
# return_history=True,
|
|
)
|
|
|
|
|
|
def execute_agent(
|
|
task: str = "How can I establish a ROTH IRA to buy stocks and get a tax break? What are the criteria. Create a report on this question.",
|
|
):
|
|
return agent.run(task)
|
|
|
|
|
|
executor = HighSpeedExecutor()
|
|
results = executor.run(execute_agent, 2)
|
|
|
|
print(results)
|