IDEA-8: GraphRAG — NetworkX 기반 지식 그래프

- td_knowledge_graph 테이블 (user_id, subject, relation, object 트리플)
- GraphService: MultiDiGraph 인메모리 캐시 + MySQL 영속화
- add_relation / query_entity LangChain 도구
- call_model에 그래프 요약 자동 주입 (시스템 프롬프트)
- GRAPH_ENABLED=true 환경변수로 활성화
- requirements.txt에 networkx>=3.0 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sal
2026-06-04 10:08:39 +09:00
parent 0b50444e43
commit a05d2f474e
10 changed files with 170 additions and 6 deletions
+6
View File
@@ -12,6 +12,7 @@ from services.db.user_profile_repository import UserProfileRepository
from services.db.feedback_repository import FeedbackRepository
from services.db.reminder_repository import ReminderRepository
from services.scheduler_service import SchedulerService
from services.knowledge.graph_service import GraphService
from services.ui.cli_service import CliUiService
from services.events.event_bus import EventBus
from services.events.handlers import StreamTokenHandler, StreamEndHandler
@@ -83,6 +84,11 @@ class Container(containers.DeclarativeContainer):
user_map_json=providers.Callable(lambda c: c.telegram_user_map, config),
)
graph_service = providers.Singleton(
GraphService,
db=db_service,
)
history_service = providers.Factory(
HistoryService,
system_prompt=providers.Callable(lambda c: c.system_prompt, config),