[SWARM MODELS MIGRATION]

pull/584/head
Your Name 7 months ago
parent df2be1d22e
commit d6ce848d72

@ -96,7 +96,7 @@ tool_schema = QueryPlan(
We specify the query, task specification and an appropriate system prompt. We specify the query, task specification and an appropriate system prompt.
```python ```python
from swarms import OpenAIChat from swarm_models import OpenAIChat
from swarms import Agent from swarms import Agent
query = "How do we improve Nike's revenue in Q3 2024?" query = "How do we improve Nike's revenue in Q3 2024?"

@ -4,7 +4,9 @@ import sys
from dotenv import load_dotenv from dotenv import load_dotenv
# Import the OpenAIChat model and the Agent struct # Import the OpenAIChat model and the Agent struct
from swarms import OpenAIChat, Agent from swarms import Agent
from swarm_models import OpenAIChat
# Load the environment variables # Load the environment variables
load_dotenv() load_dotenv()

@ -4,7 +4,7 @@ from swarms.prompts.finance_agent_sys_prompt import (
FINANCIAL_AGENT_SYS_PROMPT, FINANCIAL_AGENT_SYS_PROMPT,
) )
from swarms.structs.agent import Agent from swarms.structs.agent import Agent
from swarms import OpenAIChat from swarm_models import OpenAIChat
# Example usage: # Example usage:
api_key = os.getenv("GROQ_API_KEY") api_key = os.getenv("GROQ_API_KEY")

@ -1,5 +1,5 @@
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
from swarms import OpenAIChat from swarm_models import OpenAIChat
from swarms import Agent from swarms import Agent
import os import os

@ -3,7 +3,9 @@ import os
from dotenv import load_dotenv from dotenv import load_dotenv
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
from swarms import OpenAIChat, ToolAgent from swarms import ToolAgent
from swarm_models import OpenAIChat
from swarms.tools.json_utils import base_model_to_json from swarms.tools.json_utils import base_model_to_json
# Load the environment variables # Load the environment variables

@ -1,4 +1,6 @@
from swarms import OpenAIChat, Agent from swarms import Agent
from swarm_models import OpenAIChat
import os import os
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")

@ -512,7 +512,7 @@ from swarm_models import Anthropic\n",
"\n", "\n",
"from dotenv import load_dotenv\n", "from dotenv import load_dotenv\n",
"\n", "\n",
"from swarms import OpenAIChat, Worker, tool\n", "from swarm_models import OpenAIChat, Worker, tool\n",
"\n", "\n",
"# Loading environment variables from .env file\n", "# Loading environment variables from .env file\n",
"load_dotenv()\n", "load_dotenv()\n",

@ -146,7 +146,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from swarms import OpenAIChat\n", "from swarm_models import OpenAIChat\n",
"from swarms import Agent\n", "from swarms import Agent\n",
"\n", "\n",
"query = \"How do we improve Nike's revenue in Q3 2024?\"\n", "query = \"How do we improve Nike's revenue in Q3 2024?\"\n",

@ -1,7 +1,7 @@
import os import os
from swarms import OpenAIChat, Agent, AgentRearrange from swarms import Agent, AgentRearrange
from swarm_models import OpenAIChat
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=os.getenv("OPENAI_API_KEY"), openai_api_key=os.getenv("OPENAI_API_KEY"),

@ -1,4 +1,5 @@
from swarms import OpenAIChat, AgentRearrange, Agent from swarms import AgentRearrange, Agent
from swarm_models import OpenAIChat
from swarms.prompts.finance_agent_sys_prompt import ( from swarms.prompts.finance_agent_sys_prompt import (
FINANCIAL_AGENT_SYS_PROMPT, FINANCIAL_AGENT_SYS_PROMPT,
) )

@ -1,5 +1,6 @@
import os import os
from swarms import OpenAIChat, ConcurrentWorkflow, Agent from swarms import ConcurrentWorkflow, Agent
from swarm_models import OpenAIChat
TUTORIAL_WRITER_AGENT_SYS_PROMPT = """ TUTORIAL_WRITER_AGENT_SYS_PROMPT = """
### **System Prompt: Tutorial Writer AI Agent** ### **System Prompt: Tutorial Writer AI Agent**

@ -1,5 +1,6 @@
import os import os
from swarms import OpenAIChat, ConcurrentWorkflow, Agent from swarms import ConcurrentWorkflow, Agent
from swarm_models import OpenAIChat
TUTORIAL_WRITER_AGENT_SYS_PROMPT = """ TUTORIAL_WRITER_AGENT_SYS_PROMPT = """
### **System Prompt: Tutorial Writer AI Agent** ### **System Prompt: Tutorial Writer AI Agent**

@ -1,4 +1,4 @@
from swarms import OpenAIChat from swarm_models import OpenAIChat
from swarms.structs.agent import Agent from swarms.structs.agent import Agent
from swarms.structs.message_pool import MessagePool from swarms.structs.message_pool import MessagePool

@ -3,7 +3,9 @@ import os
from dotenv import load_dotenv from dotenv import load_dotenv
# Import the OpenAIChat model and the Agent struct # Import the OpenAIChat model and the Agent struct
from swarms import OpenAIChat, Agent, SwarmNetwork from swarms import Agent, SwarmNetwork
from swarm_models import OpenAIChat
# Load the environment variables # Load the environment variables
load_dotenv() load_dotenv()

@ -1,6 +1,7 @@
import os import os
from dotenv import load_dotenv from dotenv import load_dotenv
from swarms import OpenAIChat, Task, ConcurrentWorkflow, Agent from swarms import Task, ConcurrentWorkflow, Agent
from swarm_models import OpenAIChat
# Load environment variables from .env file # Load environment variables from .env file
load_dotenv() load_dotenv()

@ -1,6 +1,7 @@
import os import os
from dotenv import load_dotenv from dotenv import load_dotenv
from swarms import OpenAIChat, Task, RecursiveWorkflow, Agent from swarms import Task, RecursiveWorkflow, Agent
from swarm_models import OpenAIChat
# Load environment variables from .env file # Load environment variables from .env file
load_dotenv() load_dotenv()

@ -1,5 +1,6 @@
import os import os
from swarms import OpenAIChat, Agent, SequentialWorkflow from swarms import Agent, SequentialWorkflow
from swarm_models import OpenAIChat
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()

@ -554,76 +554,76 @@ def round_robin_speaker(agents: List[Agent], iteration: int) -> Agent:
return selected return selected
# # Example usage # Example usage
# if __name__ == "__main__": if __name__ == "__main__":
# from swarms import OpenAIChat from swarm_models import OpenAIChat
# from swarms.prompts.finance_agent_sys_prompt import ( from swarms.prompts.finance_agent_sys_prompt import (
# FINANCIAL_AGENT_SYS_PROMPT, FINANCIAL_AGENT_SYS_PROMPT,
# ) )
# # Get the OpenAI API key from the environment variable # Get the OpenAI API key from the environment variable
# api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
# if not api_key: if not api_key:
# logger.error("OpenAI API key not found in environment variables.") logger.error("OpenAI API key not found in environment variables.")
# exit(1) exit(1)
# # Create instances of the OpenAIChat class # Create instances of the OpenAIChat class
# model = OpenAIChat( model = OpenAIChat(
# api_key=api_key, model_name="gpt-4o-mini", temperature=0.1 api_key=api_key, model_name="gpt-4o-mini", temperature=0.1
# ) )
# # Initialize agents # Initialize agents
# agent1 = Agent( agent1 = Agent(
# agent_name="Financial-Analysis-Agent_1", agent_name="Financial-Analysis-Agent_1",
# system_prompt=FINANCIAL_AGENT_SYS_PROMPT, system_prompt=FINANCIAL_AGENT_SYS_PROMPT,
# llm=model, llm=model,
# max_loops=1, max_loops=1,
# dynamic_temperature_enabled=True, dynamic_temperature_enabled=True,
# saved_state_path="finance_agent_1.json", saved_state_path="finance_agent_1.json",
# user_name="swarms_corp", user_name="swarms_corp",
# retry_attempts=1, retry_attempts=1,
# context_length=200000, context_length=200000,
# return_step_meta=False, return_step_meta=False,
# ) )
# agent2 = Agent( agent2 = Agent(
# agent_name="Financial-Analysis-Agent_2", agent_name="Financial-Analysis-Agent_2",
# system_prompt=FINANCIAL_AGENT_SYS_PROMPT, system_prompt=FINANCIAL_AGENT_SYS_PROMPT,
# llm=model, llm=model,
# max_loops=1, max_loops=1,
# dynamic_temperature_enabled=True, dynamic_temperature_enabled=True,
# saved_state_path="finance_agent_2.json", saved_state_path="finance_agent_2.json",
# user_name="swarms_corp", user_name="swarms_corp",
# retry_attempts=1, retry_attempts=1,
# context_length=200000, context_length=200000,
# return_step_meta=False, return_step_meta=False,
# ) )
# agent2 = Agent( agent2 = Agent(
# agent_name="Financial-Analysis-Agent_3", agent_name="Financial-Analysis-Agent_3",
# system_prompt=FINANCIAL_AGENT_SYS_PROMPT, system_prompt=FINANCIAL_AGENT_SYS_PROMPT,
# llm=model, llm=model,
# max_loops=1, max_loops=1,
# dynamic_temperature_enabled=True, dynamic_temperature_enabled=True,
# saved_state_path="finance_agent_2.json", saved_state_path="finance_agent_2.json",
# user_name="swarms_corp", user_name="swarms_corp",
# retry_attempts=1, retry_attempts=1,
# context_length=200000, context_length=200000,
# return_step_meta=False, return_step_meta=False,
# ) )
# # Initialize the MultiAgentCollaboration with the round-robin speaker function # Initialize the MultiAgentCollaboration with the round-robin speaker function
# multi_agent_framework = MultiAgentCollaboration( multi_agent_framework = MultiAgentCollaboration(
# agents=[agent1, agent2], agents=[agent1, agent2],
# speaker_fn=round_robin_speaker, speaker_fn=round_robin_speaker,
# max_loops=3, max_loops=3,
# use_cache=True, # Enable caching use_cache=True, # Enable caching
# autosave_on=True, autosave_on=True,
# ) )
# # Run the framework with an input prompt # Run the framework with an input prompt
# task = "How can I establish a ROTH IRA to buy stocks and get a tax break? What are the criteria" task = "How can I establish a ROTH IRA to buy stocks and get a tax break? What are the criteria"
# out = multi_agent_framework.run(task) out = multi_agent_framework.run(task)
# print(out) print(out)
# print(multi_agent_framework.return_output_schema_json()) print(multi_agent_framework.return_output_schema_json())

@ -6,7 +6,7 @@ import threading
from dotenv import load_dotenv from dotenv import load_dotenv
from scripts.auto_tests_docs.docs import DOCUMENTATION_WRITER_SOP from scripts.auto_tests_docs.docs import DOCUMENTATION_WRITER_SOP
from swarms import OpenAIChat from swarm_models import OpenAIChat
from swarms.structs.majority_voting import MajorityVoting from swarms.structs.majority_voting import MajorityVoting
from swarms.structs.stackoverflow_swarm import StackOverflowSwarm from swarms.structs.stackoverflow_swarm import StackOverflowSwarm
from swarms.structs.task_queue_base import TaskQueueBase from swarms.structs.task_queue_base import TaskQueueBase

@ -6,7 +6,7 @@ import threading
from dotenv import load_dotenv from dotenv import load_dotenv
from scripts.auto_tests_docs.docs import DOCUMENTATION_WRITER_SOP from scripts.auto_tests_docs.docs import DOCUMENTATION_WRITER_SOP
from swarms import OpenAIChat from swarm_models import OpenAIChat
load_dotenv() load_dotenv()

@ -5,7 +5,7 @@ import threading
from dotenv import load_dotenv from dotenv import load_dotenv
from scripts.auto_tests_docs.docs import DOCUMENTATION_WRITER_SOP from scripts.auto_tests_docs.docs import DOCUMENTATION_WRITER_SOP
from swarms import OpenAIChat from swarm_models import OpenAIChat
########### ###########

@ -7,7 +7,7 @@ from dotenv import load_dotenv
from swarms_memory import DictInternalMemory, DictSharedMemory from swarms_memory import DictInternalMemory, DictSharedMemory
from scripts.auto_tests_docs.docs import TEST_WRITER_SOP_PROMPT from scripts.auto_tests_docs.docs import TEST_WRITER_SOP_PROMPT
from swarms import OpenAIChat from swarm_models import OpenAIChat
load_dotenv() load_dotenv()

@ -6,7 +6,7 @@ import threading
from dotenv import load_dotenv from dotenv import load_dotenv
from scripts.auto_tests_docs.docs import TEST_WRITER_SOP_PROMPT from scripts.auto_tests_docs.docs import TEST_WRITER_SOP_PROMPT
from swarms import OpenAIChat from swarm_models import OpenAIChat
from swarms.utils.parse_code import extract_code_from_markdown from swarms.utils.parse_code import extract_code_from_markdown
load_dotenv() load_dotenv()

@ -1,99 +0,0 @@
import logging
from typing import List
from swarms.structs.base_structure import BaseStructure
from swarms.structs.task import Task
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
class RecursiveWorkflow(BaseStructure):
"""
RecursiveWorkflow class for running a task recursively until a stopping condition is met.
Args:
task (Task): The task to execute.
stop_token (Any): The token that indicates when to stop the workflow.
Attributes:
task (Task): The task to execute.
stop_token (Any): The token that indicates when to stop the workflow.
Examples:
>>> from swarm_models import OpenAIChat
>>> from swarms.structs import RecursiveWorkflow, Task
>>> llm = OpenAIChat(openai_api_key="")
>>> task = Task(llm, "What's the weather in miami")
>>> workflow = RecursiveWorkflow()
>>> workflow.add(task)
>>> workflow.run()
"""
def __init__(
self,
stop_token: str = "<DONE>",
stopping_conditions: callable = None,
max_loops: int = 1,
*args,
**kwargs,
):
self.stop_token = stop_token
self.stopping_conditions = stopping_conditions
self.task_pool = []
assert (
self.stop_token is not None
), "stop_token cannot be None"
def add(self, task: Task = None, tasks: List[Task] = None):
"""Adds a task to the workflow.
Args:
task (Task): _description_
tasks (List[Task]): _description_
"""
try:
if tasks:
for task in tasks:
if isinstance(task, Task):
self.task_pool.append(task)
logger.info(
"[INFO][RecursiveWorkflow] Added task"
f" {task} to workflow"
)
elif isinstance(task, Task):
self.task_pool.append(task)
logger.info(
f"[INFO][RecursiveWorkflow] Added task {task} to"
" workflow"
)
except Exception as error:
logger.warning(f"[ERROR][RecursiveWorkflow] {error}")
raise error
def run(self):
"""
Executes the tasks in the workflow until the stop token is encountered.
Returns:
None
"""
try:
loop = 0
while loop < self.max_loops:
for task in self.task_pool:
while True:
result = task.run()
if (
result is not None
and self.stop_token in result
):
break
print(f"{result}")
loop += 1
return result
except Exception as error:
logger.warning(f"[ERROR][RecursiveWorkflow] {error}")
raise error

@ -1,6 +1,6 @@
import pytest import pytest
from swarms import OpenAIChat from swarm_models import OpenAIChat
from swarms.structs.agent import Agent from swarms.structs.agent import Agent
from swarms.structs.company import Company from swarms.structs.company import Company

@ -1,4 +1,4 @@
from swarms import OpenAIChat from swarm_models import OpenAIChat
from swarms.structs.agent import Agent from swarms.structs.agent import Agent
from swarms.structs.message_pool import MessagePool from swarms.structs.message_pool import MessagePool

Loading…
Cancel
Save