""" 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)