- 환경 설정
# 가상환경 생성 (선택사항)
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate- 패키지 설치
pip install -r requirements.txt- 환경 변수 설정(.env)
MONGODB_URL= 몽고DB URL
MONGO_DB_NAME= 데이터베이스 이름
OPENAI_API_KEY= OpenAI API 키- 서버 실행
uvicorn main:app --reloadcrm_back/
├── .env # [보안] API KEY, DB URL(MongoDB 주소) 설정
├── .gitignore # [설정] data/, .env, venv/ 등 불필요한 파일 제외
├── requirements.txt # [설정] FastAPI, Motor, Beanie, Motor 등 패키지 목록
├── Dockerfile # [배포] 서버 이미지 빌드 설정
├── docker-compose.yml # [인프라] MongoDB와 서버를 컨테이너로 묶어 실행
├── main.py # [진입점] FastAPI 실행 및 DB 연결(Lifespan) 초기화
│
├── data/ # [저장소] 실제 데이터가 물리적으로 저장되는 곳
│ ├── chroma_store/ # RAG용 벡터 DB 저장 폴더
│ └── mongo_data/ # MongoDB 실제 데이터가 쌓이는 폴더 (Docker Volume 연결)
│
└── app/ # [코드] 서버 핵심 로직
├── models/
│ ├── api_dto.py # [통신] 프론트엔드와 주고받는 데이터 규격 (Pydantic)
│ └── domain.py # [DB] MongoDB 컬렉션 및 자유 로그(RawLog) 모델 정의 (Beanie)
│
├── core/
│ ├── config.py # [환경] 전역 변수 및 경로 설정 관리
│ ├── mongo_db.py # [연결] Motor & Beanie 초기화 설정
│ ├── vector_store.py # [검색] ChromaDB 연결 및 RAG 검색/저장 로직
│ └── trigger_engine.py # [감지] 로그 분석 후 AI 에이전트 호출 조건 설계
│
├── agent/ # [AI] LangGraph 기반 지능형 에이전트
│ ├── graph.py # 워크플로우 상태 관리 및 흐름 정의
│ ├── nodes.py # 각 단계별 AI 행동(RAG 검색, 답변 생성 등) 구현
│ └── prompts.py # AI 성격 및 답변 지침(System Prompt) 모음
│
└── api/
├── routes.py # [통로] 동적 로그 수집(C) 및 조회(R) API 엔드포인트 (CRUD)
└── websocket.py # [알림] 분석된 결과를 실시간으로 프론트에 전송하는 소켓