📚 LangChain 프로젝트 설정 강의 요약 (이든쌤)
✅ 1. 강의 목적
- LangChain을 활용한 AI 애플리케이션 개발을 위해 프로젝트 환경을 통일하고,
- 보일러플레이트 코드, 실행 환경, 디버깅 설정 등을 정리하는 과정
🧰 2. 주요 설정 단계
① Git 저장소 복제
- 브랜치: 1-start-here
- 명령어 예시:
-
bash복사편집git clone -b 1-start-here [저장소 URL]
② IDE 설정 (주로 PyCharm)
- Python Interpreter → Pipenv 환경 선택
- Pipenv로 가상 환경 생성 및 패키지 관리
- 실행 환경 설정 (Edit Configurations → Runner 추가)
③ LangChain 패키지 설치
bash
복사편집
pip install langchain langchain-openai langchain-community langchainhub
- langchain: 핵심 프레임워크
- langchain-openai: OpenAI용 통합
- langchain-community: 텍스트 분할기, 파서 등 커뮤니티 기여 코드
- langchainhub: 프롬프트 공유 플랫폼
④ 포매터 설정
bash
복사편집
pipenv install black black .
🧪 3. 테스트용 기본 코드
python
복사편집
if __name__ == '__main__': print("Hello LangChain")
- 러너 설정을 통해 icebreaker.py 스크립트 실행 확인
💡 4. LangChain 개념 간단 소개
- LangChain이란?
LLM을 기반으로 하는 애플리케이션을 쉽게 만들도록 도와주는 프레임워크 - "Chain"의 개념:
- LLM에 쿼리
- 검색/추론/입력 재구성
- 결과 출력
→ 이 일련의 단계를 체인으로 구성해 추상화
- 리팩토링 이후 구조 분리 이유
- 필요 없는 벤더 SDK를 줄이고
- 각 벤더/커뮤니티가 독립적으로 유지관리 가능하도록 구조화됨
🏁 5. 설정 완료 후 기대 결과
- 코드를 실행하고 디버깅할 수 있는 개발 환경 완성
- 앞으로의 강의에서 LangChain을 활용한 고급 AI 기능 구현 가능
🔧 리팩토링(Refactoring)이란?
**"코드의 동작은 그대로 유지하면서, 코드를 더 좋게(읽기 쉽게, 관리하기 쉽게) 바꾸는 작업"**이에요.
🎯 예를 들어볼게요
🔴 리팩토링 전:
python
복사편집
def a(x): return x*1.08 if x<1000 else x*1.05
- 한 줄로 되어 있고, 변수명도 의미가 없어서 읽기 어렵고 유지보수가 힘듦
🟢 리팩토링 후:
python
복사편집
def apply_tax(price): if price < 1000: return price * 1.08 else: return price * 1.05
- 코드의 기능은 완전히 같지만
- 훨씬 읽기 쉽고, 나중에 고치기 좋고, 팀원이 이해하기 쉬움
🔍 왜 리팩토링을 할까?
이유설명
✅ 유지보수 | 나중에 수정하거나 기능 추가할 때 편해요 |
✅ 협업 | 다른 개발자가 코드를 쉽게 이해할 수 있어요 |
✅ 확장성 | 새로운 기능을 붙이기 쉬워요 |
✅ 버그 줄이기 | 구조가 명확하면 실수가 줄어요 |
💡 리팩토링의 핵심
- 결과는 똑같아야 해요 (기능은 그대로!)
- 외부 동작을 바꾸지 않고 내부 구조만 바꾸는 것
LangChain도 마찬가지예요.
초기엔 기능이 다 한데 몰려 있었는데,
지금은 langchain, langchain-openai, langchain-community처럼 나뉘어 있죠?
👉 그게 바로 리팩토링 덕분이에요.
'생성형AI' 카테고리의 다른 글
Github와 동기화 (0) | 2025.02.07 |
---|---|
Langchain의 모델 (0) | 2024.12.30 |
SciBERT (2) | 2024.10.08 |
ControlNet (0) | 2023.12.12 |
Stable Diffusion-인터페이스, Github extension, ControlNet (0) | 2023.10.30 |