Skip to content

Commit

Permalink
Merge pull request #14 from ServiceNow/rename-nodes
Browse files Browse the repository at this point in the history
Rename Collective to Team and move from Task to Node.
  • Loading branch information
rizar authored Sep 23, 2024
2 parents c87afcb + c172fd9 commit d689121
Show file tree
Hide file tree
Showing 10 changed files with 355 additions and 314 deletions.
10 changes: 5 additions & 5 deletions examples/chat.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
import sys

from tapeagents.collective import CollectiveAgent, CollectiveTape
from tapeagents.team import TeamAgent, TeamTape
from tapeagents.develop import Develop
from tapeagents.llms import LLAMA, LLM
from tapeagents.rendering import PrettyRenderer


def try_chat(llm: LLM, develop: bool):
# equilavent of https://microsoft.github.io/autogen/docs/tutorial/introduction
comedy_duo = CollectiveAgent.create_chat_initiator(
comedy_duo = TeamAgent.create_chat_initiator(
name="Joe",
llm=llm,
system_prompt="Your name is Joe and you are a part of a duo of comedians.",
collective_manager=CollectiveAgent.create(
teammate=TeamAgent.create(
name="Cathy", llm=llm, system_prompt="Your name is Cathy and you are a part of a duo of comedians."
),
max_turns=3,
init_message="Hey Cathy, tell me a joke",
)
if develop:
Develop(comedy_duo, CollectiveTape(context=None, steps=[]), PrettyRenderer()).launch()
Develop(comedy_duo, TeamTape(context=None, steps=[]), PrettyRenderer()).launch()
else:
for event in comedy_duo.run(CollectiveTape(context=None, steps=[])):
for event in comedy_duo.run(TeamTape(context=None, steps=[])):
print(event.model_dump_json(indent=2))


Expand Down
8 changes: 4 additions & 4 deletions examples/code_chat.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import sys

from tapeagents.autogen_prompts import AUTOGEN_ASSISTANT_SYSTEM_MESSAGE
from tapeagents.collective import CollectiveAgent, CollectiveTape
from tapeagents.team import TeamAgent, TeamTape
from tapeagents.container_executor import ContainerExecutor
from tapeagents.develop import Develop
from tapeagents.environment import CodeExecutionEnvironment
Expand All @@ -16,11 +16,11 @@

def try_chat(llm: LLM, develop: bool):
# equilavent of https://microsoft.github.io/autogen/docs/tutorial/introduction
org = CollectiveAgent.create_chat_initiator(
org = TeamAgent.create_chat_initiator(
name="UserProxy",
llm=llm,
system_prompt="",
collective_manager=CollectiveAgent.create(
teammate=TeamAgent.create(
name="Assistant",
system_prompt=AUTOGEN_ASSISTANT_SYSTEM_MESSAGE,
llm=llm,
Expand All @@ -29,7 +29,7 @@ def try_chat(llm: LLM, develop: bool):
init_message="compute 5 fibonacci numbers",
execute_code=True,
)
start_tape = CollectiveTape(context=None, steps=[])
start_tape = TeamTape(context=None, steps=[])
now = f"{datetime.datetime.now():%Y%m%d%H%M%S}"
env = CodeExecutionEnvironment(ContainerExecutor(work_dir=f"outputs/chat_code/{now}"))
if develop:
Expand Down
14 changes: 7 additions & 7 deletions examples/data_science.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

from tapeagents.agent import Agent
from tapeagents.autogen_prompts import AUTOGEN_ASSISTANT_SYSTEM_MESSAGE
from tapeagents.collective import CollectiveAgent, CollectiveTape
from tapeagents.team import TeamAgent, TeamTape
from tapeagents.container_executor import ContainerExecutor
from tapeagents.core import Action, FinalStep, Observation, Tape
from tapeagents.environment import CodeExecutionEnvironment, Environment
Expand All @@ -19,33 +19,33 @@

def make_world(llm: LLM | None = None, env: Environment | None = None) -> tuple[Agent, Tape, Environment]:
llm = llm or LiteLLM(model_name="gpt-4o", parameters={"timeout": 15.0})
coder = CollectiveAgent.create(
coder = TeamAgent.create(
name="SoftwareEngineer",
system_prompt=(
AUTOGEN_ASSISTANT_SYSTEM_MESSAGE + "Only say TERMINATE when your code was successfully executed."
),
llm=llm,
)
code_executor = CollectiveAgent.create(
code_executor = TeamAgent.create(
name="CodeExecutor",
llm=llm,
execute_code=True,
)
team = CollectiveAgent.create_collective_manager(
team = TeamAgent.create_team_manager(
name="GroupChatManager",
subagents=[coder, code_executor],
max_calls=15,
llm=llm,
)
org = CollectiveAgent.create_chat_initiator(
org = TeamAgent.create_chat_initiator(
name="UserProxy",
init_message=(
"Make a plot comparing the stocks of ServiceNow and Salesforce"
" since beginning of 2024. Save it to a PNG file."
),
collective_manager=team,
teammate=team,
)
start_tape = CollectiveTape(context=None, steps=[])
start_tape = TeamTape(context=None, steps=[])
now = f"{datetime.datetime.now():%Y%m%d%H%M%S}"
env = env or CodeExecutionEnvironment(ContainerExecutor(work_dir=f"outputs/data_science/{now}"))
return org, start_tape, env
Expand Down
16 changes: 8 additions & 8 deletions examples/multi_chat.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import sys

from tapeagents.autogen_prompts import AUTOGEN_ASSISTANT_SYSTEM_MESSAGE
from tapeagents.collective import CollectiveAgent, CollectiveTape
from tapeagents.team import TeamAgent, TeamTape
from tapeagents.container_executor import ContainerExecutor
from tapeagents.core import FinalStep
from tapeagents.develop import Develop
Expand All @@ -18,33 +18,33 @@

def try_chat(develop: bool):
llm = LiteLLM(model_name="gpt-4o", parameters={"timeout": 15.0}, use_cache=True)
product_manager = CollectiveAgent.create(
product_manager = TeamAgent.create(
name="ProductManager",
system_prompt="Creative in software product ideas.",
llm=llm,
)
coder = CollectiveAgent.create(
coder = TeamAgent.create(
name="SoftwareEngineer",
system_prompt=AUTOGEN_ASSISTANT_SYSTEM_MESSAGE,
llm=llm,
)
code_executor = CollectiveAgent.create(
code_executor = TeamAgent.create(
name="CodeExecutor",
llm=llm,
execute_code=True,
)
team = CollectiveAgent.create_collective_manager(
team = TeamAgent.create_team_manager(
name="GroupChatManager",
subagents=[product_manager, coder, code_executor],
max_calls=15,
llm=llm,
)
org = CollectiveAgent.create_chat_initiator(
org = TeamAgent.create_chat_initiator(
name="UserProxy",
init_message="Find a latest paper about gpt-4 on arxiv and find its potential applications in software.",
collective_manager=team,
teammate=team,
)
start_tape = CollectiveTape(context=None, steps=[])
start_tape = TeamTape(context=None, steps=[])
now = f"{datetime.datetime.now():%Y%m%d%H%M%S}"
env = CodeExecutionEnvironment(ContainerExecutor(work_dir=f"outputs/multi_chat_code/{now}"))
if develop:
Expand Down
6 changes: 3 additions & 3 deletions examples/tape_improver.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

from tapeagents.agent import Agent
from tapeagents.chain import Chain
from tapeagents.collective import CollectiveTape
from tapeagents.team import TeamTape
from tapeagents.core import (
Action,
AgentStep,
Expand Down Expand Up @@ -113,7 +113,7 @@ class StepParsingError(Action):
error: str


CodeImproverTape = Tape[CollectiveTape, SelectAgent | SelectStep | RewriteStep | FinalStep | Call | Respond]
CodeImproverTape = Tape[TeamTape, SelectAgent | SelectStep | RewriteStep | FinalStep | Call | Respond]


def improver_tape_view(tape: Tape) -> str:
Expand Down Expand Up @@ -186,7 +186,7 @@ def generate_steps(self, tape: Any, llm_stream: LLMStream):
def make_world(llm: LLM | None = None) -> tuple[Agent, Tape, Tape]:
res_dir = f"{pathlib.Path(__file__).parent.resolve()}/res"
with open(f"{res_dir}/bad_tape.json", "r") as f:
bad_tape = CollectiveTape.model_validate(json.load(f))
bad_tape = TeamTape.model_validate(json.load(f))
improver_tape = CodeImproverTape(context=bad_tape, steps=[])

llm = llm or LiteLLM(
Expand Down
Loading

0 comments on commit d689121

Please sign in to comment.