2장. 개발 환경 준비
정리
- 가상환경(
.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를 확인합니다.