Post

Langchain Study | 2-2. 환경구축 - 로컬 환경 구축

✏️ Edit
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 Extension 추천

  • Python
    • vscode에서 가상환경 선택 단축 모드를 사용하기 위해서는 설치가 필요합니다.
  • pylance

    • 설치 후, 톱니바퀴를 통해 Extension setting(확장 설정)에서 Auto Import Completions를 체크해서 활성화한다.

2. OpenAI API 키 발급 및 환경변수 설정

OpenAI API 키 발급

환경변수에 API 키 설정하기

  1. [Windows 설정] - [시스템] - [정보] - [고급 시스템 설정] - [고급] - [환경 변수] 를 통해 환경변수 접근

  2. [사용자변수]에 환경변수 등록

    • 변수명: OPENAI_API_KEY

    • 값: 전달받은 openAI API key

  3. 등록 후, 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

가상환경 구성

  1. 작업 폴더 생성하여 vscode로 열기

  2. python 버전 확인 (반드시 python 3.11인지 확인! 3.12은 호환 불가!)

    1
    
    python --version
    
  3. vscode terminal에서 아래 명령어를 통해 가상환경 생성 (가상환경이름은 .venv로 권장)

    1
    
    python -m venv {가상환경이름}
    
  4. 인터프리터 설정

    • vscode에서 설정 (안될 경우 cmd 로 수행)

      • vscode에서 Ctrl+Shift+P를 누르면 화면 상단에 창이 하나 생기는 데, 거기에 Python Select Interpreter를 입력해서 선택

      • 생성한 가상환경 선택

    • cmd에서 활성화

      • 반드시 `command prompt`로 수행! (powershell에서 수행 시 적용X) image
      • 생성한 가상환경의 경로에서 activate.bat 수행
      {가상환경명}\Scripts\activate.bat
      
  5. 적용 확인

  • vscode에서 cmd창 열었을 때, 아래와 같이 명령창 앞에 ({가상환경명})뜨는지 확인

라이브러리 다운로드

vscode에서 requirement.txt 파일이 있는 경로로 이동하여, 가상환경이 활성화된 cmd 터미널에서 아래의 명령어를 수행합니다.

  • 라이브러리 설치

    1
    
    pip install -r requirements.txt
    

4. 작동 확인

  1. openai 모듈을 설치해주세요.
    pip install openai==0.27.8
    
  2. 아래의 파일을 생성합니다.

    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))
    
  3. 아래와 같은 출력이 나온다면 정상적으로 환경구성이 완료된 것입니다!

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))