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.

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(mode)

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([model])

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(vector_store_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([name, provider])

Create a vector store configuration.

create_web_loader_tool()

Create a web page loader tool.

get_tools_for_mode(mode)

Get the appropriate tools for a search mode.

Module Contents¶

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

Bases: pydantic.BaseModel

Output model for document relevance scoring.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

class prebuilt.perplexity.base.engines.GeneratedResponse(/, **data)¶

Bases: pydantic.BaseModel

Output model for response generation.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

class prebuilt.perplexity.base.engines.QualityCheckOutput(/, **data)¶

Bases: pydantic.BaseModel

Output model for quality assurance.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

class prebuilt.perplexity.base.engines.QueryAnalysisOutput(/, **data)¶

Bases: pydantic.BaseModel

Output model for query analysis.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

class prebuilt.perplexity.base.engines.SearchQueryOutput(/, **data)¶

Bases: pydantic.BaseModel

Output model for search query generation.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

prebuilt.perplexity.base.engines.create_calculator_tool()¶

Create a calculator tool for mathematical operations.

Return type:

langchain_core.tools.StructuredTool

prebuilt.perplexity.base.engines.create_code_interpreter_tool()¶

Create a Python code interpreter tool.

Return type:

langchain_core.tools.StructuredTool

prebuilt.perplexity.base.engines.create_document_scoring_engine()¶

Create engine for document relevance scoring.

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_engine_set_for_mode(mode)¶

Create the appropriate set of engines for a search mode.

Parameters:

mode (haive.agents.perplexity.base.state.SearchMode)

Return type:

Dict[str, haive.core.engine.aug_llm.AugLLMConfig]

prebuilt.perplexity.base.engines.create_planning_engine()¶

Create engine for multi-step planning.

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_project_analysis_engine()¶

Create engine for project analysis.

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_quality_assurance_engine()¶

Create engine for quality assurance.

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_query_analysis_engine()¶

Create engine for query analysis.

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_rag_generation_engine(model=ModelChoice.GPT_4O)¶

Create engine for RAG-based response generation.

Parameters:

model (haive.agents.perplexity.base.state.ModelChoice)

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_reasoning_engine()¶

Create engine for chain-of-thought reasoning.

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_research_planning_engine()¶

Create engine for research planning.

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_retriever_config(vector_store_config, search_type='similarity', k=5)¶

Create a retriever configuration.

Parameters:
  • vector_store_config (haive.core.engine.vectorstore.VectorStoreConfig)

  • search_type (str)

  • k (int)

Return type:

haive.core.engine.retriever.VectorStoreRetrieverConfig

prebuilt.perplexity.base.engines.create_search_generation_engine()¶

Create engine for search query generation.

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_source_analysis_engine()¶

Create engine for source analysis.

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_synthesis_engine()¶

Create engine for research synthesis.

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_tavily_search_tool()¶

Create a Tavily search tool configuration.

Return type:

langchain_core.tools.StructuredTool

prebuilt.perplexity.base.engines.create_tool_orchestration_engine()¶

Create engine for tool orchestration.

Return type:

haive.core.engine.aug_llm.AugLLMConfig

prebuilt.perplexity.base.engines.create_vector_store_config(name='perplexity_knowledge_base', provider=VectorStoreProvider.FAISS)¶

Create a vector store configuration.

Parameters:
  • name (str)

  • provider (haive.core.engine.vectorstore.VectorStoreProvider)

Return type:

haive.core.engine.vectorstore.VectorStoreConfig

prebuilt.perplexity.base.engines.create_web_loader_tool()¶

Create a web page loader tool.

Return type:

langchain_core.tools.StructuredTool

prebuilt.perplexity.base.engines.get_tools_for_mode(mode)¶

Get the appropriate tools for a search mode.

Parameters:

mode (haive.agents.perplexity.base.state.SearchMode)

Return type:

List[langchain_core.tools.StructuredTool]