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.
85 lines
2.2 KiB
85 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)
|