LangChain 챗봇2장 · 개발 환경 준비19 / 20← 이전목차다음 →MetaContents

2장. 개발 환경 준비

정리

주방 차리기, 출입증 지키기, 첫 주문의 세 칸에 가상환경, pip, .env, 첫 호출과 오류를 모은 인포그래픽
  • 가상환경(.venv)은 과목마다 따로 쓰는 패키지 상자입니다. sys.prefix != sys.base_prefix 가 True 면 가상환경 안이고, 실습 1에서는 .venv\Scripts\python.exe 가 코드를 돌렸습니다.
  • pip 는 PyPI 에서 패키지와 의존성을 받아 켜 둔 가상환경에 넣고, requirements.txt 는 그 판을 적어 다른 PC 에서 같은 상자를 다시 차리게 합니다. 실습 1에서 langchain 1.4.7, langchain-openai 1.7.3, openai 3.42.1 등 여섯 줄의 목록을 저장했습니다.
  • VS Code 는 명령 팔레트의 Python: Select Interpreter 로 .venv 의 파이썬을 골라야 실행 단추가 가상환경의 패키지를 씁니다.
  • API 키는 쓴 만큼 요금이 붙는 출입증이라 코드에 적지 않습니다. .env 에 두고 load_dotenv(find_dotenv(usecwd=True)) 로 환경 변수에 올린 뒤 os.getenv 로 꺼내며, .gitignore 가 .env 를 올리지 않게 막습니다. 화면에 찍을 때는 실습 2의 mask() 처럼 sk-test-**** 꼴로 가립니다.
  • OpenAI SDK 는 client.chat.completions.create(model=…, messages=…) 로 묻고 choices[0].message.content 와 usage 를 읽습니다. 실습 3의 예상 출력에서 질문 한 번은 100 토큰 안팎, 가정한 단가로 0.0002달러 남짓이었습니다.
  • ChatOpenAI 는 1장의 가짜 모델과 같은 invoke 로 불러 AIMessage 를 돌려줍니다. usage_metadata 의 입력 토큰은 내용만 센 tiktoken 어림(실습 4에서 50)보다 조금 큽니다.
  • 오류는 번호로 읽습니다. 401 은 키, 429 는 한도, 404 는 모델 이름, 연결 오류는 네트워크, "Missing credentials" 는 .env 를 확인합니다.
← 이전 절2장 · 프로젝트 1 — 내 PC 점검표 만들기다음 절 →2장 · 확인문제와 해답