33분
How: 프로젝트 초기 설정과 Config 구현
시스템 아키텍처 설계
How: 프로젝트 초기 설정과 Config 구현
통합 프로젝트 > 시스템 아키텍처 설계
학습 목표
- 프로젝트 디렉토리 구조를 생성할 수 있다
- pyproject.toml로 의존성을 관리할 수 있다
- Pydantic Settings로 환경 설정을 관리할 수 있다
프로젝트 초기 설정
Step 1: 디렉토리 생성
# 프로젝트 루트 생성
mkdir -p manufacturing-ai-assistant
cd manufacturing-ai-assistant
# 디렉토리 구조 생성
mkdir -p app/pages app/components
mkdir -p core/agent core/rag core/kg core/llm
mkdir -p config data/documents data/sample data/chroma_db
mkdir -p tests
# __init__.py 생성
touch core/__init__.py core/agent/__init__.py
touch core/rag/__init__.py core/kg/__init__.py
touch core/llm/__init__.py
Step 2: pyproject.toml 작성
의존성은 최소한으로 시작한다. 나중에 추가하면 된다.
Step 3: 설정 파일 작성
Pydantic Settings를 사용하면:
- .env 파일에서 자동으로 읽어옴
- 타입 검증 자동 수행
- IDE 자동완성 지원
Step 4: 프롬프트 관리
프롬프트는 코드에 하드코딩하지 말고 별도 파일로 관리한다. 프롬프트에 적은 도구 목록과 KG 스키마는 나중에 실제로 만들 것과 같아야 한다. 프롬프트에만 있고 구현이 없는 도구를 적어 두면 LLM 이 그 이름을 부르고 실행 노드가 찾지 못해 실패한다. 스키마도 마찬가지여서, 프롬프트가 알려 준 라벨과 관계가 시드와 다르면 자연어에서 만든 Cypher 가 언제나 빈 결과를 돌려준다.
아래 starterCode 를 읽는 법
네 파일이 한 블록에 들어 있다. # 파일 N: 주석이 파일 경계다. 그대로 한 파일에
붙여 넣지 말고 경계대로 나눠 저장한다. 맨 아래 확인 블록은 파일 2의 끝에 들어간다.
에디터 로딩 중...
힌트 보기
- • pydantic-settings는 .env 파일을 자동으로 읽는다
- • pydantic v2에서는 class Config 대신 model_config = SettingsConfigDict(...)를 쓴다
- • Field(default=...) 로 기본값과 설명을 동시에 설정
- • @lru_cache로 싱글톤 패턴을 간단히 구현
- • 프롬프트에 적은 도구 목록과 KG 스키마는 실제 구현·시드와 일치해야 한다
정답 보기
에디터 로딩 중...
AI로 학습하기 — 꿀팁
프로젝트 디렉토리 & pyproject.toml 생성AI 학습 팁
AI에게 제조 AI 통합 프로젝트의 디렉토리 구조와 pyproject.toml 의존성 설정을 한 번에 생성시켜 초기 설정을 가속하세요.
제조 AI 통합 프로젝트(RAG + KG + LangGraph + Streamlit)의 src 레이아웃 디렉토리 구조와 pyproject.toml을 작성해줘. LangChain·LangGraph·ChromaDB·neo4j·Streamlit·pydantic 의존성과 [tool.ruff] lint 설정을 포함하고, 각 패키지가 어떤 역할인지 주석으로 설명해줘.
이 팁이 도움이 됐나요?