🤖 DaMoono 챗봇 시스템 - 핵심 설명

사실 저도 kiro 도움 많이 받아서 헷갈림

📊 전체 아키텍처

프론트엔드 (React)
    ↓ HTTP POST
백엔드 (Express + LangChain)
    ↓ 4단계 파이프라인
OpenAI GPT-4o-mini
    ↓
구조화된 응답 (텍스트 + 카드)


🎯 LangChain 사용 방법

1. Intent Analyzer에서 LangChain 사용

📁 src/services/intentAnalyzer.ts

// ChatOpenAI 모델 생성
const intentModel = new ChatOpenAI({
  modelName: 'gpt-4o-mini',
  temperature: 0.3,  // 낮은 온도 = 일관된 분류
  openAIApiKey: process.env.OPENAI_API_KEY
});

// 메시지 구성
const systemMessage = new SystemMessage(INTENT_CLASSIFICATION_PROMPT);
const userMessage = new HumanMessage(message);

// GPT 호출
const response = await intentModel.invoke([systemMessage, userMessage]);

역할: 사용자 질문 → JSON 형태의 의도 분석 결과

{
  "intent": "plan_recommendation",
  "entities": {
    "priceConstraint": {"max": 90000},
    "features": ["무제한 데이터"],
    "category": "plan"
  },
  "confidence": 0.95
}


2. Main Chatbot에서 LangChain 사용

📁 src/services/langchain.ts