rebuild(stage-10): deliver mentor and unified llm streaming
This commit is contained in:
@@ -19,8 +19,14 @@ from backend.features.accounts.service import (
|
||||
from backend.features.market import MarketService
|
||||
from backend.features.market.insights import MarketInsightService
|
||||
from backend.features.market.sync import MarketSnapshotService
|
||||
from backend.features.mentor.context import MentorContextBuilder
|
||||
from backend.features.mentor.repository import MentorRepository
|
||||
from backend.features.mentor.service import MentorService
|
||||
from backend.features.mentor.skills import MentorSkillRegistry
|
||||
from backend.features.screener.repository import ScreenerRepository
|
||||
from backend.features.screener.service import ScreenerService
|
||||
from backend.llm import LLMGateway
|
||||
from backend.llm.repository import LLMRepository
|
||||
from backend.security import PasswordHasher, load_or_create_cipher
|
||||
|
||||
|
||||
@@ -35,6 +41,8 @@ class ApplicationContainer:
|
||||
model_pool: ModelPoolService
|
||||
market: MarketService
|
||||
screener: ScreenerService
|
||||
llm: LLMGateway
|
||||
mentor: MentorService
|
||||
|
||||
|
||||
def build_container(settings: Settings) -> ApplicationContainer:
|
||||
@@ -42,6 +50,7 @@ def build_container(settings: Settings) -> ApplicationContainer:
|
||||
account_repository = AccountRepository()
|
||||
credential_repository = SystemCredentialRepository()
|
||||
model_pool_repository = ModelPoolRepository()
|
||||
screener_repository = ScreenerRepository()
|
||||
cipher = load_or_create_cipher(settings)
|
||||
credentials = SystemCredentialService(database, credential_repository, cipher)
|
||||
tushare = TushareProvider(lambda: credentials.get("tushare_token"))
|
||||
@@ -64,14 +73,32 @@ def build_container(settings: Settings) -> ApplicationContainer:
|
||||
MarketSnapshotService(database, market_repository, gateway),
|
||||
MarketInsightService(database, market_repository, gateway),
|
||||
)
|
||||
accounts = AccountService(database, account_repository, PasswordHasher(), cipher)
|
||||
memberships = MembershipService(database, account_repository)
|
||||
model_pool = ModelPoolService(database, model_pool_repository, cipher)
|
||||
screener = ScreenerService(database, screener_repository, market_repository, gateway)
|
||||
llm = LLMGateway(database, LLMRepository(), memberships, model_pool)
|
||||
mentor = MentorService(
|
||||
database,
|
||||
MentorRepository(),
|
||||
MentorSkillRegistry(
|
||||
settings.mentor_skills_directory,
|
||||
settings.private_mentor_skills_directory,
|
||||
),
|
||||
MentorContextBuilder(database, market_repository, screener_repository, gateway),
|
||||
gateway,
|
||||
llm,
|
||||
)
|
||||
return ApplicationContainer(
|
||||
settings=settings,
|
||||
database=database,
|
||||
database_status=DatabaseStatusRepository(database),
|
||||
accounts=AccountService(database, account_repository, PasswordHasher(), cipher),
|
||||
memberships=MembershipService(database, account_repository),
|
||||
accounts=accounts,
|
||||
memberships=memberships,
|
||||
system_credentials=credentials,
|
||||
model_pool=ModelPoolService(database, model_pool_repository, cipher),
|
||||
model_pool=model_pool,
|
||||
market=market,
|
||||
screener=ScreenerService(database, ScreenerRepository(), market_repository, gateway),
|
||||
screener=screener,
|
||||
llm=llm,
|
||||
mentor=mentor,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user