123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- from dataclasses import dataclass
- from typing import TYPE_CHECKING, Any
- from pydantic import BaseModel
- from core.agent import R2RRAGAgent, R2RStreamingRAGAgent
- from core.database import PostgresDatabaseProvider
- from core.pipelines import RAGPipeline, SearchPipeline
- from core.pipes import (
- EmbeddingPipe,
- GraphClusteringPipe,
- GraphCommunitySummaryPipe,
- GraphDeduplicationPipe,
- GraphDeduplicationSummaryPipe,
- GraphDescriptionPipe,
- GraphExtractionPipe,
- GraphSearchSearchPipe,
- GraphStoragePipe,
- ParsingPipe,
- RAGPipe,
- SearchPipe,
- StreamingRAGPipe,
- VectorStoragePipe,
- )
- from core.providers import (
- AsyncSMTPEmailProvider,
- ConsoleMockEmailProvider,
- HatchetOrchestrationProvider,
- LiteLLMCompletionProvider,
- LiteLLMEmbeddingProvider,
- OllamaEmbeddingProvider,
- OpenAICompletionProvider,
- OpenAIEmbeddingProvider,
- R2RAuthProvider,
- R2RIngestionProvider,
- SendGridEmailProvider,
- SimpleOrchestrationProvider,
- SupabaseAuthProvider,
- UnstructuredIngestionProvider,
- )
- if TYPE_CHECKING:
- from core.main.services.auth_service import AuthService
- from core.main.services.graph_service import GraphService
- from core.main.services.ingestion_service import IngestionService
- from core.main.services.management_service import ManagementService
- from core.main.services.retrieval_service import RetrievalService
- class R2RProviders(BaseModel):
- auth: R2RAuthProvider | SupabaseAuthProvider
- database: PostgresDatabaseProvider
- ingestion: R2RIngestionProvider | UnstructuredIngestionProvider
- embedding: (
- LiteLLMEmbeddingProvider
- | OpenAIEmbeddingProvider
- | OllamaEmbeddingProvider
- )
- llm: LiteLLMCompletionProvider | OpenAICompletionProvider
- orchestration: HatchetOrchestrationProvider | SimpleOrchestrationProvider
- email: (
- AsyncSMTPEmailProvider
- | ConsoleMockEmailProvider
- | SendGridEmailProvider
- )
- class Config:
- arbitrary_types_allowed = True
- class R2RPipes(BaseModel):
- parsing_pipe: ParsingPipe
- embedding_pipe: EmbeddingPipe
- graph_search_pipe: GraphSearchSearchPipe
- graph_extraction_pipe: GraphExtractionPipe
- graph_storage_pipe: GraphStoragePipe
- graph_description_pipe: GraphDescriptionPipe
- graph_clustering_pipe: GraphClusteringPipe
- graph_deduplication_pipe: GraphDeduplicationPipe
- graph_deduplication_summary_pipe: GraphDeduplicationSummaryPipe
- graph_community_summary_pipe: GraphCommunitySummaryPipe
- rag_pipe: RAGPipe
- streaming_rag_pipe: StreamingRAGPipe
- vector_storage_pipe: VectorStoragePipe
- vector_search_pipe: Any # TODO - Fix
- class Config:
- arbitrary_types_allowed = True
- class R2RPipelines(BaseModel):
- search_pipeline: SearchPipeline
- rag_pipeline: RAGPipeline
- streaming_rag_pipeline: RAGPipeline
- class Config:
- arbitrary_types_allowed = True
- class R2RAgents(BaseModel):
- rag_agent: R2RRAGAgent
- streaming_rag_agent: R2RStreamingRAGAgent
- class Config:
- arbitrary_types_allowed = True
- @dataclass
- class R2RServices:
- auth: "AuthService"
- ingestion: "IngestionService"
- management: "ManagementService"
- retrieval: "RetrievalService"
- graph: "GraphService"
|