Services API Reference¶
This page documents the API for DeepCritical services.
EmbeddingService¶
Module: src.services.embeddings
Purpose: Local sentence-transformers for semantic search and deduplication.
Methods¶
embed¶
Generates embedding for a text string.
Parameters: - text: Text to embed
Returns: Embedding vector as list of floats.
embed_batch¶
Generates embeddings for multiple texts.
Parameters: - texts: List of texts to embed
Returns: List of embedding vectors.
similarity¶
Calculates similarity between two texts.
Parameters: - text1: First text - text2: Second text
Returns: Similarity score (0.0-1.0).
find_duplicates¶
async def find_duplicates(
self,
texts: list[str],
threshold: float = 0.85
) -> list[tuple[int, int]]
Finds duplicate texts based on similarity threshold.
Parameters: - texts: List of texts to check - threshold: Similarity threshold (default: 0.85)
Returns: List of (index1, index2) tuples for duplicate pairs.
Factory Function¶
get_embedding_service¶
Returns singleton EmbeddingService instance.
LlamaIndexRAGService¶
Module: src.services.rag
Purpose: Retrieval-Augmented Generation using LlamaIndex.
Methods¶
ingest_evidence¶
Ingests evidence into RAG service.
Parameters: - evidence: List of Evidence objects to ingest
Note: Requires OpenAI API key for embeddings.
retrieve¶
Retrieves relevant documents for a query.
Parameters: - query: Search query string - top_k: Number of top results to return (default: 5)
Returns: List of Document objects with metadata.
query¶
Queries RAG service and returns formatted results.
Parameters: - query: Search query string - top_k: Number of top results to return (default: 5)
Returns: Formatted query results as string.
Factory Function¶
get_rag_service¶
Returns singleton LlamaIndexRAGService instance, or None if OpenAI key not available.
StatisticalAnalyzer¶
Module: src.services.statistical_analyzer
Purpose: Secure execution of AI-generated statistical code.
Methods¶
analyze¶
async def analyze(
self,
hypothesis: str,
evidence: list[Evidence],
data_description: str | None = None
) -> AnalysisResult
Analyzes a hypothesis using statistical methods.
Parameters: - hypothesis: Hypothesis to analyze - evidence: List of Evidence objects - data_description: Optional data description
Returns: AnalysisResult with: - verdict: SUPPORTED, REFUTED, or INCONCLUSIVE - code: Generated analysis code - output: Execution output - error: Error message if execution failed
Note: Requires Modal credentials for sandbox execution.
See Also¶
- Architecture - Services - Architecture overview
- Configuration - Service configuration