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/examples/demos/swarm_mechanic/swarm_mechanic_example.py

83 lines
2.2 KiB

"""
pip3 install -U swarms
pip3 install -U chromadb
task -> Understanding Agent [understands the problem better] -> Summarize of the conversation -> research agent that has access to internt perplexity -> final rag agent
# Todo
- Use better llm -- gpt4, claude, gemini
- Make better system prompt
- Populate the vector database with q/a of past history
"""
from swarms import Agent, llama3Hosted, AgentRearrange
from pydantic import BaseModel
from swarms_memory import ChromaDB
# Initialize the language model agent (e.g., GPT-3)
llm = llama3Hosted(max_tokens=3000)
# Initialize Memory
memory = ChromaDB(output_dir="swarm_mechanic", n_results=2, verbose=True)
# Output
class EvaluatorOuputSchema(BaseModel):
evaluation: str = None
question_for_user: str = None
# Initialize agents for individual tasks
agent1 = Agent(
agent_name="Summary ++ Hightlighter Agent",
system_prompt="Generate a simple, direct, and reliable summary of the input task alongside the highlights",
llm=llm,
max_loops=1,
)
# Point out that if their are details that can be added
# What do you mean? What lights do you have turned on.
agent2 = Agent(
agent_name="Evaluator",
system_prompt="Summarize and evaluate the summary and the users demand, always be interested in learning more about the situation with extreme precision.",
llm=llm,
max_loops=1,
list_base_models=[EvaluatorOuputSchema],
)
# research_agent = Agent(
# agent_name="Research Agent",
# system_prompt="Summarize and evaluate the summary and the users demand, always be interested in learning more about the situation with extreme precision.",
# llm=llm,
# max_loops=1,
# tool = [webbrowser]
# )
agent3 = Agent(
agent_name="Summarizer Agent",
system_prompt="Summarize the entire history of the interaction",
llm=llm,
max_loops=1,
long_term_memory=memory,
)
# Task
task = "Car Model: S-Class, Car Year: 2020, Car Mileage: 10000, all my service lights are on, what should i do?"
# Swarm
swarm = AgentRearrange(
agents=[agent1, agent2, agent3],
flow=f"{agent1.agent_name} -> {agent2.agent_name} -> {agent3.agent_name}",
memory_system=memory,
)
# Task
out = swarm.run(task)
print(out)