Implement Phase 12 feedback, Phase 13 Semantic Chunker, Phase 13-B Reranker, Bug 5 thinking fix
- Phase 12: FeedbackRepository + td_feedback 테이블, Gradio 👍/👎 이벤트, run_id 추적, LangSmith create_feedback() 연동 - Phase 13: 커스텀 _SemanticSplitter 제거 → langchain_experimental.SemanticChunker 교체, buffer_size/threshold_type 환경변수 적용 - Phase 13-B: RerankService (Cross-Encoder), RetrieverService.search()에 reranker 통합, tools.py as_retriever() → search() 전환 - Bug 5: mlx_chat_model enable_thinking 런타임 오버라이드, agent_service stream_mode=["messages","custom"] 이중 스트림, thinking 토큰 custom 이벤트로 emit - ROADMAP: LLM 모델명 8B 반영, RAG에 Reranker 추가, 추천 진행 순서 갱신 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -9,11 +9,13 @@ from services.chat.compact_service import CompactService
|
||||
from services.db.mysql_service import DatabaseService
|
||||
from services.db.conversation_repository import ConversationRepository
|
||||
from services.db.user_profile_repository import UserProfileRepository
|
||||
from services.db.feedback_repository import FeedbackRepository
|
||||
from services.ui.cli_service import CliUiService
|
||||
from services.events.event_bus import EventBus
|
||||
from services.events.handlers import StreamTokenHandler, StreamEndHandler
|
||||
from langchain_huggingface import HuggingFaceEmbeddings
|
||||
from services.rag.ingestion_service import IngestionService
|
||||
from services.rag.rerank_service import RerankService
|
||||
from services.rag.retriever_service import RetrieverService
|
||||
from services.agent.agent_service import AgentService
|
||||
|
||||
@@ -60,6 +62,11 @@ class Container(containers.DeclarativeContainer):
|
||||
db=db_service,
|
||||
)
|
||||
|
||||
feedback_repository = providers.Singleton(
|
||||
FeedbackRepository,
|
||||
db=db_service,
|
||||
)
|
||||
|
||||
history_service = providers.Factory(
|
||||
HistoryService,
|
||||
system_prompt=providers.Callable(lambda c: c.system_prompt, config),
|
||||
@@ -97,6 +104,12 @@ class Container(containers.DeclarativeContainer):
|
||||
breakpoint_threshold_type=providers.Callable(
|
||||
lambda c: c.semantic_breakpoint_threshold_type, config
|
||||
),
|
||||
buffer_size=providers.Callable(lambda c: c.semantic_buffer_size, config),
|
||||
)
|
||||
|
||||
reranker = providers.Callable(
|
||||
lambda c: RerankService(c.reranker_model_id) if c.reranker_enabled else None,
|
||||
config,
|
||||
)
|
||||
|
||||
retriever_service = providers.Singleton(
|
||||
@@ -105,6 +118,8 @@ class Container(containers.DeclarativeContainer):
|
||||
qdrant_url=providers.Callable(lambda c: c.qdrant_url, config),
|
||||
collection_name=providers.Callable(lambda c: c.qdrant_collection, config),
|
||||
top_k=providers.Callable(lambda c: c.rag_top_k, config),
|
||||
reranker=reranker,
|
||||
rerank_fetch_k=providers.Callable(lambda c: c.reranker_fetch_k, config),
|
||||
)
|
||||
|
||||
# Phase 3 — LangGraph Agent
|
||||
|
||||
Reference in New Issue
Block a user