API Reference¶
Complete API documentation for QuantumLangChain components.
Core Components¶
QuantumBase¶
Base class for all quantum-enhanced components.
Methods¶
__init__(config: Optional[QuantumConfig] = None)
¶
Initialize quantum component with optional configuration.
Parameters:
config
: Quantum configuration settings
async initialize() -> None
¶
Initialize quantum state and resources.
async reset_quantum_state() -> None
¶
Reset component to coherent quantum state.
create_entanglement(other: QuantumBase, strength: float = 0.8) -> str
¶
Create quantum entanglement with another component.
Parameters:
other
: Target component for entanglementstrength
: Entanglement strength (0.0 to 1.0)
Returns:
- Entanglement ID string
update_decoherence(delta: float) -> None
¶
Update decoherence level.
Parameters:
delta
: Decoherence increment
Properties¶
quantum_state: QuantumState
- Current quantum statedecoherence_level: float
- Decoherence level (0.0 to 1.0)entanglement_registry: Dict[str, Any]
- Registry of entanglements
Chains¶
QLChain¶
Quantum-enhanced reasoning chain with superposition and entanglement.
Methods¶
__init__(memory: QuantumMemory, backend: QuantumBackend, config: Optional[Dict] = None)
¶
Initialize quantum chain.
Parameters:
memory
: Quantum memory systembackend
: Quantum computing backendconfig
: Chain configuration
async arun(input_text: str, **kwargs) -> Dict[str, Any]
¶
Execute chain with quantum enhancement.
Parameters:
input_text
: Input query or prompt**kwargs
: Additional execution parameters
Returns:
- Execution result dictionary
async abatch(inputs: List[str], **kwargs) -> List[Dict[str, Any]]
¶
Batch process multiple inputs.
Parameters:
inputs
: List of input texts**kwargs
: Execution parameters
Returns:
- List of results
async astream(input_text: str, **kwargs) -> AsyncIterator[Dict[str, Any]]
¶
Stream chain execution results.
Parameters:
input_text
: Input query**kwargs
: Execution parameters
Yields:
- Incremental results
get_execution_stats() -> Dict[str, Any]
¶
Get chain execution statistics.
Returns:
- Statistics dictionary
Memory Systems¶
QuantumMemory¶
Quantum-enhanced memory with entanglement and reversibility.
Methods¶
__init__(classical_dim: int, quantum_dim: int, backend: Optional[QuantumBackend] = None)
¶
Initialize quantum memory.
Parameters:
classical_dim
: Classical embedding dimensionquantum_dim
: Quantum register sizebackend
: Quantum backend
async store(key: str, value: Any, quantum_enhanced: bool = False) -> None
¶
Store memory entry.
Parameters:
key
: Memory keyvalue
: Value to storequantum_enhanced
: Enable quantum enhancement
async retrieve(key: str, quantum_search: bool = False) -> Any
¶
Retrieve memory entry.
Parameters:
key
: Memory keyquantum_search
: Use quantum search
Returns:
- Retrieved value or None
async similarity_search(query: str, top_k: int = 5) -> List[Dict[str, Any]]
¶
Search memory by similarity.
Parameters:
query
: Search querytop_k
: Number of results
Returns:
- List of similar entries
async entangle_memories(keys: List[str]) -> str
¶
Create entanglement between memory entries.
Parameters:
keys
: List of memory keys
Returns:
- Entanglement ID
async create_memory_snapshot() -> str
¶
Create reversible memory snapshot.
Returns:
- Snapshot ID
async restore_memory_snapshot(snapshot_id: str) -> bool
¶
Restore memory from snapshot.
Parameters:
snapshot_id
: Snapshot identifier
Returns:
- Success status
async get_stats() -> Dict[str, Any]
¶
Get memory statistics.
Returns:
- Statistics dictionary
Agents¶
EntangledAgents¶
Multi-agent system with quantum collaboration.
Methods¶
__init__(agent_configs: List[Dict[str, Any]], backend: Optional[QuantumBackend] = None)
¶
Initialize entangled agent system.
Parameters:
agent_configs
: List of agent configurationsbackend
: Quantum backend
async collaborative_solve(problem: str, max_iterations: int = 5, enable_interference: bool = True) -> Dict[str, Any]
¶
Solve problem collaboratively.
Parameters:
problem
: Problem descriptionmax_iterations
: Maximum solving iterationsenable_interference
: Enable quantum interference
Returns:
- Solution with collaboration details
async run_single_agent(agent_id: str, problem: str) -> Dict[str, Any]
¶
Run single agent on problem.
Parameters:
agent_id
: Agent identifierproblem
: Problem description
Returns:
- Agent solution
async run_parallel_agents(agent_ids: List[str], problem: str) -> List[Dict[str, Any]]
¶
Run multiple agents in parallel.
Parameters:
agent_ids
: List of agent identifiersproblem
: Problem description
Returns:
- List of agent solutions
async propagate_belief(belief: BeliefState) -> List[BeliefState]
¶
Propagate belief across agents.
Parameters:
belief
: Initial belief state
Returns:
- List of propagated beliefs
add_agent_role(role: AgentRole) -> None
¶
Add new agent role.
Parameters:
role
: Agent role configuration
update_agent_role(agent_id: str, **kwargs) -> None
¶
Update existing agent role.
Parameters:
agent_id
: Agent identifier**kwargs
: Role updates
get_performance_stats() -> Dict[str, Any]
¶
Get agent performance statistics.
Returns:
- Performance statistics
Retrievers¶
QuantumRetriever¶
Quantum-enhanced document retrieval system.
class QuantumRetriever(QuantumBase):
"""Quantum-enhanced semantic retrieval with Grover's algorithm."""
Methods¶
__init__(vectorstore: Any, backend: Optional[QuantumBackend] = None, config: Optional[Dict] = None)
¶
Initialize quantum retriever.
Parameters:
vectorstore
: Vector store backendbackend
: Quantum backendconfig
: Retriever configuration
async aretrieve(query: str, quantum_enhanced: bool = True, **kwargs) -> List[Document]
¶
Retrieve relevant documents.
Parameters:
query
: Search queryquantum_enhanced
: Use quantum enhancement**kwargs
: Additional parameters
Returns:
- List of relevant documents
async asimilarity_search(query: str, k: int = 5, algorithm: str = "amplitude_amplification") -> List[Tuple[Document, float]]
¶
Perform quantum similarity search.
Parameters:
query
: Search queryk
: Number of resultsalgorithm
: Quantum algorithm to use
Returns:
- List of documents with scores
get_retrieval_stats() -> Dict[str, Any]
¶
Get retrieval statistics.
Returns:
- Retrieval statistics
Vector Stores¶
HybridChromaDB¶
Quantum-enhanced ChromaDB vector store.
Methods¶
__init__(collection_name: str = "quantum_documents", persist_directory: Optional[str] = None, embedding_function: Optional[Any] = None, config: Optional[Dict] = None)
¶
Initialize hybrid ChromaDB.
Parameters:
collection_name
: Collection namepersist_directory
: Persistence directoryembedding_function
: Embedding functionconfig
: Configuration
async add_documents(documents: List[str], metadatas: Optional[List[Dict]] = None, ids: Optional[List[str]] = None, embeddings: Optional[List[List[float]]] = None, quantum_enhanced: bool = False) -> List[str]
¶
Add documents to collection.
Parameters:
documents
: List of document textsmetadatas
: Document metadataids
: Document IDsembeddings
: Pre-computed embeddingsquantum_enhanced
: Enable quantum enhancement
Returns:
- List of document IDs
async similarity_search(query: str, k: int = 5, filter: Optional[Dict] = None, quantum_enhanced: bool = False) -> List[Tuple[QuantumDocument, float]]
¶
Search for similar documents.
Parameters:
query
: Search queryk
: Number of resultsfilter
: Metadata filterquantum_enhanced
: Use quantum enhancement
Returns:
- List of documents with similarity scores
async entangle_documents(doc_ids: List[str], entanglement_strength: float = 0.8) -> str
¶
Create document entanglement.
Parameters:
doc_ids
: Document IDs to entangleentanglement_strength
: Entanglement strength
Returns:
- Entanglement ID
async quantum_similarity_search(query: str, k: int = 5, quantum_algorithm: str = "amplitude_amplification") -> List[Tuple[QuantumDocument, float]]
¶
Quantum-enhanced similarity search.
Parameters:
query
: Search queryk
: Number of resultsquantum_algorithm
: Quantum algorithm
Returns:
- Enhanced search results
QuantumFAISS¶
Quantum-enhanced FAISS vector store.
Methods¶
__init__(dimension: int, index_type: str = "IVFFlat", metric: str = "L2", nlist: int = 100, persist_path: Optional[str] = None, config: Optional[Dict] = None)
¶
Initialize quantum FAISS.
Parameters:
dimension
: Vector dimensionindex_type
: FAISS index typemetric
: Distance metricnlist
: Number of clusterspersist_path
: Persistence pathconfig
: Configuration
async add_vectors(vectors: Union[np.ndarray, List[List[float]]], ids: Optional[List[str]] = None, metadatas: Optional[List[Dict]] = None, quantum_enhanced: bool = False) -> List[str]
¶
Add vectors to index.
Parameters:
vectors
: Vector dataids
: Vector IDsmetadatas
: Vector metadataquantum_enhanced
: Enable quantum enhancement
Returns:
- List of vector IDs
async search(query_vector: Union[np.ndarray, List[float]], k: int = 5, quantum_enhanced: bool = False, filter_metadata: Optional[Dict] = None) -> List[Tuple[str, float, Dict]]
¶
Search for similar vectors.
Parameters:
query_vector
: Query vectork
: Number of resultsquantum_enhanced
: Use quantum enhancementfilter_metadata
: Metadata filter
Returns:
- Search results with scores
async amplitude_amplification_search(query_vector: Union[np.ndarray, List[float]], target_condition: Callable, k: int = 5, iterations: int = 3) -> List[Tuple[str, float, Dict]]
¶
Amplitude amplification search.
Parameters:
query_vector
: Query vectortarget_condition
: Target condition functionk
: Number of resultsiterations
: Amplification iterations
Returns:
- Amplified search results
async grovers_search(oracle_function: Callable, k: int = 5, max_iterations: int = 10) -> List[Tuple[str, float, Dict]]
¶
Grover's algorithm search.
Parameters:
oracle_function
: Oracle functionk
: Number of resultsmax_iterations
: Maximum iterations
Returns:
- Grover's search results
Tools¶
QuantumToolExecutor¶
Quantum-enhanced tool execution system.
Methods¶
register_tool(name: str, function: Callable, description: str, quantum_enhanced: bool = False, parallel_execution: bool = False, entanglement_enabled: bool = False) -> None
¶
Register a tool.
Parameters:
name
: Tool namefunction
: Tool functiondescription
: Tool descriptionquantum_enhanced
: Enable quantum enhancementparallel_execution
: Allow parallel executionentanglement_enabled
: Enable entanglement
async execute_tool(tool_name: str, *args, quantum_enhanced: Optional[bool] = None, **kwargs) -> ToolResult
¶
Execute a single tool.
Parameters:
tool_name
: Name of tool to execute*args
: Tool argumentsquantum_enhanced
: Override quantum enhancement**kwargs
: Tool keyword arguments
Returns:
- Tool execution result
async execute_parallel_tools(tool_configs: List[Dict[str, Any]], entangle_results: bool = False) -> List[ToolResult]
¶
Execute multiple tools in parallel.
Parameters:
tool_configs
: Tool configuration listentangle_results
: Entangle results
Returns:
- List of tool results
async execute_quantum_superposition_tools(tool_configs: List[Dict[str, Any]], measurement_function: Optional[Callable] = None) -> ToolResult
¶
Execute tools in quantum superposition.
Parameters:
tool_configs
: Tool configurationsmeasurement_function
: Result measurement function
Returns:
- Measured tool result
create_tool_chain(chain_name: str, tool_names: List[str]) -> None
¶
Create a tool execution chain.
Parameters:
chain_name
: Chain nametool_names
: List of tool names
async execute_tool_chain(chain_name: str, initial_input: Any = None, propagate_results: bool = True) -> List[ToolResult]
¶
Execute a tool chain.
Parameters:
chain_name
: Chain to executeinitial_input
: Initial input datapropagate_results
: Propagate results between tools
Returns:
- List of chain results
Context Management¶
QuantumContextManager¶
Quantum-enhanced context management with temporal snapshots.
class QuantumContextManager(QuantumBase):
"""Quantum context management with coherent state tracking."""
Methods¶
create_context_window(window_id: str, max_size: int = 100, coherence_threshold: float = 0.8) -> ContextWindow
¶
Create a context window.
Parameters:
window_id
: Window identifiermax_size
: Maximum window sizecoherence_threshold
: Coherence threshold
Returns:
- Context window instance
async set_context(scope: ContextScope, key: str, value: Any, quantum_enhanced: bool = False, window_id: Optional[str] = None) -> None
¶
Set context value.
Parameters:
scope
: Context scopekey
: Context keyvalue
: Context valuequantum_enhanced
: Enable quantum enhancementwindow_id
: Target window ID
async get_context(scope: ContextScope, key: str, default: Any = None, quantum_search: bool = False) -> Any
¶
Get context value.
Parameters:
scope
: Context scopekey
: Context keydefault
: Default valuequantum_search
: Use quantum search
Returns:
- Context value
async create_snapshot(scope: ContextScope = ContextScope.SESSION, include_windows: bool = True) -> str
¶
Create context snapshot.
Parameters:
scope
: Snapshot scopeinclude_windows
: Include context windows
Returns:
- Snapshot ID
async restore_snapshot(snapshot_id: str) -> bool
¶
Restore from snapshot.
Parameters:
snapshot_id
: Snapshot identifier
Returns:
- Success status
async entangle_contexts(context_keys: List[Tuple[ContextScope, str]], entanglement_strength: float = 0.8) -> str
¶
Entangle context items.
Parameters:
context_keys
: List of context keys with scopesentanglement_strength
: Entanglement strength
Returns:
- Entanglement ID
Prompts¶
QPromptChain¶
Quantum-enhanced prompt chaining system.
Methods¶
add_prompt(content: str, prompt_type: PromptType = PromptType.USER, quantum_weight: float = 1.0, conditions: Optional[Dict] = None, metadata: Optional[Dict] = None) -> str
¶
Add a prompt to the collection.
Parameters:
content
: Prompt contentprompt_type
: Type of promptquantum_weight
: Quantum selection weightconditions
: Conditional logicmetadata
: Prompt metadata
Returns:
- Prompt ID
create_prompt_chain(chain_name: str, prompt_ids: List[str], allow_quantum_selection: bool = True) -> None
¶
Create a prompt chain.
Parameters:
chain_name
: Chain nameprompt_ids
: List of prompt IDsallow_quantum_selection
: Enable quantum selection
create_superposition_group(group_name: str, prompt_ids: List[str], selection_method: str = "quantum_interference") -> None
¶
Create superposition group.
Parameters:
group_name
: Group nameprompt_ids
: Prompt IDsselection_method
: Selection algorithm
async execute_prompt_chain(chain_name: str, context: Dict[str, Any], variables: Optional[Dict[str, Any]] = None) -> PromptChainResult
¶
Execute prompt chain.
Parameters:
chain_name
: Chain to executecontext
: Execution contextvariables
: Template variables
Returns:
- Chain execution result
entangle_prompts(prompt_ids: List[str], entanglement_strength: float = 0.8) -> str
¶
Entangle prompts.
Parameters:
prompt_ids
: Prompt IDs to entangleentanglement_strength
: Entanglement strength
Returns:
- Entanglement ID
Backends¶
QuantumBackend¶
Abstract base class for quantum backends.
Methods¶
async execute_circuit(circuit: Any, shots: int = 1000) -> Dict[str, Any]
¶
Execute quantum circuit.
Parameters:
circuit
: Quantum circuitshots
: Number of measurements
Returns:
- Execution results
async create_entangling_circuit(qubits: List[int]) -> Any
¶
Create entangling circuit.
Parameters:
qubits
: Qubit indices
Returns:
- Quantum circuit
get_backend_info() -> Dict[str, Any]
¶
Get backend information.
Returns:
- Backend capabilities and info
QiskitBackend¶
IBM Qiskit quantum backend.
PennyLaneBackend¶
Xanadu PennyLane quantum backend.
BraketBackend¶
Amazon Braket quantum backend.
Configuration¶
QuantumConfig¶
Configuration class for quantum parameters.
@dataclass
class QuantumConfig:
"""Configuration for quantum components."""
num_qubits: int = 4
circuit_depth: int = 10
decoherence_threshold: float = 0.1
backend_type: str = "qiskit"
shots: int = 1000
optimization_level: int = 1
enable_error_correction: bool = False
Data Classes¶
Document¶
Document class for retrieved content.
@dataclass
class Document:
"""Document with content and metadata."""
page_content: str
metadata: Dict[str, Any] = field(default_factory=dict)
ToolResult¶
Result from tool execution.
@dataclass
class ToolResult:
"""Tool execution result."""
tool_name: str
result: Any
success: bool
execution_time: float
quantum_enhanced: bool = False
entanglement_id: Optional[str] = None
error: Optional[str] = None
metadata: Dict[str, Any] = field(default_factory=dict)
Enums¶
QuantumState¶
Quantum state enumeration.
class QuantumState(Enum):
COHERENT = "coherent"
SUPERPOSITION = "superposition"
ENTANGLED = "entangled"
COLLAPSED = "collapsed"
DECOHERENT = "decoherent"
ContextScope¶
Context scope levels.
class ContextScope(Enum):
GLOBAL = "global"
SESSION = "session"
CONVERSATION = "conversation"
TURN = "turn"
QUANTUM_STATE = "quantum_state"
PromptType¶
Prompt type enumeration.