33

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 설정을 포함하고, 각 패키지가 어떤 역할인지 주석으로 설명해줘.
이 팁이 도움이 됐나요?
용어