목차
[TIL] Day 97 — Python 가상환경(venv) + LangChain 개발 환경 세팅 + 호텔 챗봇 실행 (3/11)
날짜: 2026-03-11
기술 스택: Python uv LangChain FastAPI venv VS Code
한 줄 요약: AI Data 과정 첫날 — Python 패키지 관리 핵심 개념(pip/import/venv) 정리 + uv로 빠르게 LangChain 환경 세팅 후 호텔 안내 챗봇 실행
pip install vs import — 헷갈리는 두 개념 완벽 정리
| 구분 | py -m pip install |
import |
|---|---|---|
| 목적 | 패키지 다운로드 및 로컬 설치 | 설치된 패키지를 현재 코드에서 로드 |
| 입력 위치 | 터미널 (CMD, PowerShell) | 파이썬 코드 내부 최상단 |
| 실행 주기 | 환경 당 최초 1회 | 스크립트 실행 시 매번 |
# 터미널에서 설치 (1회)
py -m pip install numpy pandas matplotlib seaborn
# 코드 파일에서 호출 (매번)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
Python 가상환경 (venv) — 프로젝트별 환경 분리
왜 필요한가? 프로젝트 A는 pandas 1.0, 프로젝트 B는 pandas 2.0이 필요할 때
글로벌 환경에 하나만 설치하면 버전 충돌 → 가상환경으로 프로젝트별 독립 관리
핵심 워크플로우
# 1. 생성 (프로젝트 시작 시 1회)
py -m venv venv
# 2. 활성화 (작업할 때마다)
venv\Scripts\activate
# → 터미널 앞에 (venv) 표시 확인
# 3. 패키지 설치 (반드시 활성화 상태에서!)
py -m pip install 라이브러리명
# 4. 종료
deactivate
⚠️ 주의: (venv) 표시 없이 pip install 하면 글로벌 환경에 설치됨
uv — pip보다 10~100배 빠른 패키지 관리 도구
Rust로 작성된 고성능 Python 패키지 관리자. pip, pip-tools, pyenv, poetry를 하나로 통합
# Windows 설치
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# 프로젝트 세팅
uv venv .venv --python 3.13 # 가상환경 생성
.venv\Scripts\activate # 활성화
uv pip install -r requirements.txt # 일괄 설치
LangChain 개발 환경 구성 — requirements.txt 핵심 패키지
langchain # LangChain 메인
langchain-core # 코어 기능
langchain-community # 커뮤니티 확장
langgraph # 상태 기반 워크플로우
langchain-openai # OpenAI 모델 연동
chromadb # 벡터 DB
fastapi==0.115.0 # API 서버
uvicorn[standard]==0.30.6 # ASGI 서버
버전은 실습 환경 기준으로 고정.
uv pip install -r requirements.txt로 일괄 설치
호텔 안내 챗봇 실행
hotel_answer.txt 파일을 참조해 질문에 답변하는 간단한 RAG 챗봇
# FastAPI 서버 실행
uvicorn main:app --reload
# → http://127.0.0.1:8000 에서 챗봇 확인
더 알아볼 것
-
uvvspip— 대규모 프로젝트에서 속도 차이 벤치마크 -
requirements.txtvspyproject.toml— 현대적인 Python 프로젝트 구성 - LangChain
LCEL(LangChain Expression Language)기본 문법 - FastAPI
@app.post라우터와 Pydantic 모델 연동 - ChromaDB에 문서를 임베딩하고 검색하는 RAG 기본 흐름
'⏳ Time Log > 1. One Day (Daily · TIL)' 카테고리의 다른 글
| [TIL] Day 99 — LangChain RAG + OpenAI API 활용 (3/13) (0) | 2026.06.08 |
|---|---|
| [TIL] Day 98 — 머신러닝 핵심 개념 + 데이터 흐름 정리 (3/12) (0) | 2026.06.08 |
| [TIL] Day 80 — 특강: AI 시대 개발자 취업 전략 (2/10) (0) | 2026.06.08 |
| [TIL] Day 71 — Spring Boot 핵심 개념 복습 (1/28) (0) | 2026.06.08 |