2장. 개발 환경 준비
용어 짚고 가기
가상환경(virtual environment)과목이나 프로젝트마다 따로 쓰는 파이썬 패키지 상자입니다. virtual 은 "실제는 아니지만 그렇게 쓸 수 있는", environment 는 "환경"이라는 뜻입니다. 컴퓨터에 파이썬을 하나 더 설치하지 않고도 따로 쓰는 것처럼 할 수 있다는 데서 온 이름입니다.venv파이썬에 들어 있는 가상환경 만드는 도구입니다. virtual environment 를 줄인 이름입니다. 이 과정은 가상환경 폴더의 이름도.venv로 짓습니다.패키지(package)남이 만들어 둔 코드를 한 묶음으로 싸서 나눠 주는 것입니다. package 는 "꾸러미, 소포"라는 뜻입니다. langchain, openai 가 모두 패키지입니다.pip(Package Installer for Python)패키지를 내려받아 설치하는 도구입니다. 이름은 "파이썬 패키지 설치 도구"라는 뜻으로 풀어 부릅니다.PyPI(Python Package Index)파이썬 패키지를 모아 둔 공개 저장소입니다. Python(파이썬), Package(패키지), Index(목록, 색인)의 머리글자이고 "파이피아이"라고 읽습니다.pip install은 기본으로 여기서 받아 옵니다.의존성(dependency)어떤 패키지가 돌아가려면 함께 있어야 하는 다른 패키지입니다. depend 는 "기대다"라는 뜻입니다. langchain-openai 는 openai 와 tiktoken 에 기댑니다.requirements.txt설치할 패키지와 판을 한 줄에 하나씩 적은 글 파일입니다. requirement 는 "필요한 것"이라는 뜻입니다. 이 파일 하나로 다른 PC 에서도 같은 패키지를 설치합니다.판(version)패키지가 고쳐질 때마다 붙는 번호입니다.1.4.7처럼 점으로 나눈 숫자로 적고, 맨 앞 숫자가 바뀌면 크게 바뀐 것입니다. version 은 "~본, 고쳐 낸 것"이라는 뜻입니다.인터프리터(interpreter)파이썬 코드를 읽고 한 줄씩 실행하는 프로그램, 곧python.exe입니다. interpreter 는 "통역사"라는 뜻입니다. VS Code 에서 어느 인터프리터를 쓸지 골라야 가상환경의 패키지를 씁니다.VS Code(Visual Studio Code)Microsoft 가 만든 코드 편집기입니다. Visual(눈으로 보는), Studio(작업실), Code(코드)를 붙인 이름입니다.터미널(terminal)글자로 명령을 써서 컴퓨터를 다루는 창입니다. terminal 은 "끝, 단말기"라는 뜻으로, 옛날 큰 컴퓨터에 이어 붙인 입력 장치를 부르던 말에서 왔습니다.PowerShellWindows 의 터미널에서 쓰는 명령 언어입니다. power(힘)와 shell(껍데기, 운영체제를 감싸 사람과 잇는 층)을 붙인 이름입니다.API 키(API key)1장에서 본 것처럼 API 를 쓸 자격을 확인하는 비밀 글자열입니다. key 는 "열쇠"라는 뜻이고, 이 장에서는 "식자재 거래처 출입증"에 빗댑니다.사용량 한도(rate limit)정해진 시간에 보낼 수 있는 요청 수나 토큰 수의 상한입니다. rate 는 "빠르기, 비율", limit 은 "한계"라는 뜻입니다. 넘으면 429 오류가 납니다.환경 변수(environment variable)운영체제가 프로그램에 넘겨주는 "이름 = 값" 쌍입니다. 프로그램 바깥에 두는 설정이라 코드에 값을 적지 않아도 됩니다. variable 은 "바뀔 수 있는 값"이라는 뜻입니다..env 파일(dotenv file)환경 변수로 올릴 "이름=값"을 한 줄씩 적어 둔 글 파일입니다. 이름이 점(dot)으로 시작하고 env 는 environment 의 줄임말이라 "닷엔브"라고 읽습니다.python-dotenv.env파일을 읽어 환경 변수로 올려 주는 패키지입니다. 코드에서는from dotenv import load_dotenv처럼dotenv라는 이름으로 부릅니다..gitignoreGit 이 올리지 않고 모른 척할 파일을 적은 목록입니다. git 에 ignore(무시하다)를 붙인 이름입니다. 과목 폴더의.gitignore에는.env가 적혀 있습니다.SDK(Software Development Kit)어떤 서비스를 코드로 쉽게 쓰도록 만든 도구 묶음입니다. Software(소프트웨어), Development(개발), Kit(도구 상자)의 머리글자입니다.openai패키지가 OpenAI 의 파이썬 SDK 입니다.클라이언트(client)서버에 요청을 보내는 쪽입니다. client 는 "손님, 의뢰인"이라는 뜻입니다.OpenAI()로 만든 객체가 우리 코드의 클라이언트입니다.상태 코드(status code)서버가 요청의 결과를 알려 주는 세 자리 숫자입니다. 200 은 성공, 401 은 인증 실패, 404 는 찾을 수 없음, 429 는 너무 많은 요청입니다. status 는 "상태"라는 뜻입니다.HTTP(HyperText Transfer Protocol)웹에서 요청과 응답을 주고받는 약속입니다. HyperText(서로 이어진 글), Transfer(전송), Protocol(통신 약속)의 머리글자입니다. OpenAI API 도 HTTP 로 주고받습니다.가리기(masking)비밀 글자열의 일부를*로 바꿔 화면에 보여도 괜찮게 만드는 일입니다. mask 는 "가면, 가리개"라는 뜻입니다.