prebuilt.perplexity.base.engines¶

Engine configurations for the Perplexity multi-agent system.

This module defines all the engine configurations used by different agents, including LLM configurations, tool configurations, and retrieval engines.

Attributes¶

Classes¶

DocumentScoringOutput

Output model for document relevance scoring.

GeneratedResponse

Output model for response generation.

QualityCheckOutput

Output model for quality assurance.

QueryAnalysisOutput

Output model for query analysis.

SearchQueryOutput

Output model for search query generation.

Functions¶

create_calculator_tool(...)

Create a calculator tool for mathematical operations.

create_code_interpreter_tool(...)

Create a Python code interpreter tool.

create_document_scoring_engine(...)

Create engine for document relevance scoring.

create_engine_set_for_mode(→ Dict[str, ...)

Create the appropriate set of engines for a search mode.

create_planning_engine(...)

Create engine for multi-step planning.

create_project_analysis_engine(...)

Create engine for project analysis.

create_quality_assurance_engine(...)

Create engine for quality assurance.

create_query_analysis_engine(...)

Create engine for query analysis.

create_rag_generation_engine(...)

Create engine for RAG-based response generation.

create_reasoning_engine(...)

Create engine for chain-of-thought reasoning.

create_research_planning_engine(...)

Create engine for research planning.

create_retriever_config(...)

Create a retriever configuration.

create_search_generation_engine(...)

Create engine for search query generation.

create_source_analysis_engine(...)

Create engine for source analysis.

create_synthesis_engine(...)

Create engine for research synthesis.

create_tavily_search_tool(...)

Create a Tavily search tool configuration.

create_tool_orchestration_engine(...)

Create engine for tool orchestration.

create_vector_store_config(...)

Create a vector store configuration.

create_web_loader_tool(...)

Create a web page loader tool.

get_tools_for_mode(...)

Get the appropriate tools for a search mode.

Module Contents¶

class prebuilt.perplexity.base.engines.DocumentScoringOutput(/, **data: Any)¶

Bases: pydantic.BaseModel

Output model for document relevance scoring.

scored_results: List[Dict[str, Any]]¶
summary: str¶
class prebuilt.perplexity.base.engines.GeneratedResponse(/, **data: Any)¶

Bases: pydantic.BaseModel

Output model for response generation.

confidence: float = None¶
conflicting_sources: List[Dict[str, Any]] = None¶
key_citations: List[Dict[str, Any]] = None¶
missing_information: List[str] = None¶
response: str¶
class prebuilt.perplexity.base.engines.QualityCheckOutput(/, **data: Any)¶

Bases: pydantic.BaseModel

Output model for quality assurance.

citations_verified: bool¶
enhanced_response: str¶
issues_found: List[Dict[str, str]] = None¶
quality_score: float = None¶
ready_for_delivery: bool¶
class prebuilt.perplexity.base.engines.QueryAnalysisOutput(/, **data: Any)¶

Bases: pydantic.BaseModel

Output model for query analysis.

analysis_rationale: str¶
clarifying_questions: List[str] = None¶
complexity_score: float = None¶
decomposed_steps: List[str] = None¶
original_query: str¶
query_type: haive.agents.perplexity.base.state.QueryType¶
requires_real_time: bool¶
requires_reasoning: bool¶
requires_tools: bool¶
suggested_mode: haive.agents.perplexity.base.state.SearchMode¶
class prebuilt.perplexity.base.engines.SearchQueryOutput(/, **data: Any)¶

Bases: pydantic.BaseModel

Output model for search query generation.

search_queries: List[Dict[str, str]]¶
search_strategy: str¶
prebuilt.perplexity.base.engines.create_calculator_tool() langchain_core.tools.StructuredTool¶

Create a calculator tool for mathematical operations.

prebuilt.perplexity.base.engines.create_code_interpreter_tool() langchain_core.tools.StructuredTool¶

Create a Python code interpreter tool.

prebuilt.perplexity.base.engines.create_document_scoring_engine() haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for document relevance scoring.

prebuilt.perplexity.base.engines.create_engine_set_for_mode(mode: haive.agents.perplexity.base.state.SearchMode) Dict[str, haive.core.engine.aug_llm.AugLLMConfig]¶

Create the appropriate set of engines for a search mode.

prebuilt.perplexity.base.engines.create_planning_engine() haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for multi-step planning.

prebuilt.perplexity.base.engines.create_project_analysis_engine() haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for project analysis.

prebuilt.perplexity.base.engines.create_quality_assurance_engine() haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for quality assurance.

prebuilt.perplexity.base.engines.create_query_analysis_engine() haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for query analysis.

prebuilt.perplexity.base.engines.create_rag_generation_engine(model: haive.agents.perplexity.base.state.ModelChoice = ModelChoice.GPT_4O) haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for RAG-based response generation.

prebuilt.perplexity.base.engines.create_reasoning_engine() haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for chain-of-thought reasoning.

prebuilt.perplexity.base.engines.create_research_planning_engine() haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for research planning.

prebuilt.perplexity.base.engines.create_retriever_config(vector_store_config: haive.core.engine.vectorstore.VectorStoreConfig, search_type: str = 'similarity', k: int = 5) haive.core.engine.retriever.VectorStoreRetrieverConfig¶

Create a retriever configuration.

prebuilt.perplexity.base.engines.create_search_generation_engine() haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for search query generation.

prebuilt.perplexity.base.engines.create_source_analysis_engine() haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for source analysis.

prebuilt.perplexity.base.engines.create_synthesis_engine() haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for research synthesis.

prebuilt.perplexity.base.engines.create_tavily_search_tool() langchain_core.tools.StructuredTool¶

Create a Tavily search tool configuration.

prebuilt.perplexity.base.engines.create_tool_orchestration_engine() haive.core.engine.aug_llm.AugLLMConfig¶

Create engine for tool orchestration.

prebuilt.perplexity.base.engines.create_vector_store_config(name: str = 'perplexity_knowledge_base', provider: haive.core.engine.vectorstore.VectorStoreProvider = VectorStoreProvider.FAISS) haive.core.engine.vectorstore.VectorStoreConfig¶

Create a vector store configuration.

prebuilt.perplexity.base.engines.create_web_loader_tool() langchain_core.tools.StructuredTool¶

Create a web page loader tool.

prebuilt.perplexity.base.engines.get_tools_for_mode(mode: haive.agents.perplexity.base.state.SearchMode) List[langchain_core.tools.StructuredTool]¶

Get the appropriate tools for a search mode.

prebuilt.perplexity.base.engines.TOOL_REGISTRY¶