haive.agents.research.perplexity_agent ====================================== .. py:module:: haive.agents.research.perplexity_agent .. autoapi-nested-parse:: Perplexity-style deep research agent. Multi-agent composition: QueryAnalyzer (SimpleAgent) → Researcher (ReactAgent + search + RAG) → Synthesizer (SimpleAgent) The Researcher has: - Tavily web search (or mock fallback) - Dynamic RAG: stores search results in vector store for retrieval Usage: from haive.agents.research.perplexity_agent import create_research_agent agent = create_research_agent() result = agent.run("What are the latest advances in quantum computing?") Classes ------- .. autoapisummary:: haive.agents.research.perplexity_agent.ResearchAgent Functions --------- .. autoapisummary:: haive.agents.research.perplexity_agent.create_research_agent haive.agents.research.perplexity_agent.web_search Module Contents --------------- .. py:class:: ResearchAgent Bases: :py:obj:`haive.agents.multi.agent.MultiAgent` Perplexity-style research agent using MultiAgent sequential composition. Pipeline: QueryAnalyzer → Researcher (search + RAG) → Synthesizer Example:: agent = create_research_agent() result = agent.run("What is quantum computing?") .. py:function:: create_research_agent(name = 'perplexity', tools = None, max_search_iterations = 8) Create a Perplexity-style research agent. :param name: Agent name :param tools: Custom search tools (defaults to Tavily if TAVILY_API_KEY set, else mock) :param max_search_iterations: Max reasoning loops for the researcher :returns: ResearchAgent ready for execution .. py:function:: web_search(query) Search the web for information. Returns search results for the given query.