Langchain Study | 2-2. 환경구축 - 로컬 환경 구축
Langchain의 각 모듈들에 대해 자세하게 배우기에 앞서 로컬에 환경구성 하는 방법에 대해 소개해드리겠습니다.
랭체인은 파이썬으로 수행하기 때문에 Pycharm, vscode, jupyter notebook 등 다양한 IDE에서 실행할 수 있습니다. 기존에 편하게 쓰시던 IDE가 있다면 해당 IDE를 사용하셔도 무방합니다.
이번 글에서는 비주얼 스튜디오 코드(이하 vscode)를 이용한 로컬 환경 구성방법에 대해 설명하겠습니다.
설치 대상 중 기존에 설치되어 있다면 생략하시면 됩니다.
1. 파이썬 실행환경 구축
파이썬 설치
python3.11 버전을 다운로드합니다.
- https://www.python.org/downloads/release/python-3110/
Windows installer (64-bit) version
- 환경변수
PATH
설정 체크!
⚠️ 반드시 python 3.11인지 확인! 3.12은 호환 불가!
설치가 완료되면 터미널에서 아래의 명령어를 입력하여 버전이 표시되면 설치 완료된 것이다.
1
python --version
vscode 설치
vscode download link
vscode Extension 추천
- Python
- vscode에서 가상환경 선택 단축 모드를 사용하기 위해서는 설치가 필요합니다.
pylance
- 설치 후, 톱니바퀴를 통해
Extension setting(확장 설정)
에서Auto Import Completions
를 체크해서 활성화한다.
- 설치 후, 톱니바퀴를 통해
2. OpenAI API 키 발급 및 환경변수 설정
OpenAI API 키 발급
- Langchain 실습용 OpenAI API 키 요청 페이지를 통해 요청하시면, 개별 연락 드리겠습니다.
환경변수에 API 키 설정하기
[Windows 설정] - [시스템] - [정보] - [고급 시스템 설정] - [고급] - [환경 변수] 를 통해 환경변수 접근
[사용자변수]에 환경변수 등록
변수명: OPENAI_API_KEY
값: 전달받은 openAI API key
등록 후, powershell에서 아래의 명령어 작성 후 입력한 값이 출력되면 등록 완료
1
echo $env:OPENAI_API_KEY
3. 랭체인과 필요 라이브러리 준비
랭체인의 버전에 따라 소스코드가 자주 바뀌는 편이므로, 지정된 라이브러리의 버전을 통일하는 것이 좋습니다.
그렇기 때문에 필요한 대상 라이브러리와 라이브러리의 버전이 지정된 텍스트 파일로 라이브러리를 설치하는 것을 권장합니다.
라이브러리 텍스트 파일 다운로드
📎requirements.txt 다운로드
소스코드는 gitlab의 study그룹의 LangChain 프로젝트의 레파지토리를 클론하여 사용하여도 됩니다.(*해당 레파지토리의 일부 소스를 글에서 다룰 예정입니다.)
- 라이브러리 텍스트 파일 경로: https://git.bwg.co.kr/gitlab/study/langchain/-/blob/main/02_%EB%9E%AD%EC%B2%B4%EC%9D%B8-%EC%99%84%EB%B2%BD%EC%9E%85%EB%AC%B8/requirements.txt
가상환경 구성
작업 폴더 생성하여 vscode로 열기
python 버전 확인 (반드시 python 3.11인지 확인! 3.12은 호환 불가!)
1
python --version
vscode terminal에서 아래 명령어를 통해 가상환경 생성 (가상환경이름은
.venv
로 권장)1
python -m venv {가상환경이름}
인터프리터 설정
적용 확인
라이브러리 다운로드
vscode에서 requirement.txt
파일이 있는 경로로 이동하여, 가상환경이 활성화된 cmd 터미널에서 아래의 명령어를 수행합니다.
라이브러리 설치
1
pip install -r requirements.txt
4. 작동 확인
openai
모듈을 설치해주세요.pip install openai==0.27.8
아래의 파일을 생성합니다.
sample.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14
import json import openai #← OpenAI에서 제공하는 Python 패키지 가져오기 response = openai.ChatCompletion.create( #←OpenAI API를 호출하여 언어 모델을 호출합니다. model="gpt-3.5-turbo", #← 호출할 언어 모델의 이름 messages=[ { "role": "user", "content": "iPhone8 출시일을 알려주세요" #←입력할 문장(프롬프트) }, ] ) print(json.dumps(response, indent=2, ensure_ascii=False))
- 아래와 같은 출력이 나온다면 정상적으로 환경구성이 완료된 것입니다!
Version up
sample 코드는 openai 1.0.0 이상의 버전에서는 동작하지 않아요, 1.0.0 이상에서 동작하는 소스는 다음처럼 ChatCompletion
대신 chat.completions
를 사용해야 합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import os
import json
from openai import OpenAI
client = OpenAI(
# This is the default and can be omitted
api_key=os.environ.get("OPENAI_API_KEY"),
)
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": "iPhone8 출시일을 알려주세요",
}
],
model="gpt-3.5-turbo",
)
print(json.dumps(chat_completion.choices[0].message.content, indent=2, ensure_ascii=False))