본문 바로가기
AI

OpenAI와 허깅페이스(Hugging face)로 랭체인(LangChain) 구현하기 - 라이브러리 설치, 가상환경에 API 키 등록, 간단한 프롬프트 구현

by Dev_Mook 2025. 1. 14.
728x90

랭체인을 직접 구현해보기 위해 OpenAI의 API키와 허깅페이스(Hugging Face)의 토큰(Access Token)을 발급했어요.

 

이제 파이썬(Python)을 이용해서 개발을 해볼건데요!

그 전에! 파이썬 코드를 작성하기 위한 가상환경(Jupyter Notebook)이 필요해요.

 

혹시 아나콘다 또는 가상환경을 설치하지 않았다면

아래 포스팅을 참고여여 설치해주세요!

 

🔗 아나콘다(Anaconda) 설치하기

 

아나콘다(Anaconda) 설치하기

# 아나콘다(Anaconda)란? 아나콘다(Anaconda)를 설치하기 전에!아나콘다가 무엇인지에 대해 간단히 알아볼게요. 아나콘다(Anaconda)는 프로그래밍을 공부하거나 데이터와 관련된 문제를 해결하기 위해

developer-mook.tistory.com

 

🔗 아나콘다(Anaconda) 가상환경 만들기

 

아나콘다(Anaconda) 가상환경 만들기

# 아나콘다(Anaconda) 가상환경이란? 가상환경(Virtual Environment)은 프로젝트마다 독립적으로 소프트웨어(Python, Libraries, etc.)를 설치하고관리할 수 있는 작업 공간이에요.특정 프로젝트만을 위한 전

developer-mook.tistory.com

 

가상환경을 만들고 주피터 노트북(Jupyter Notebook)까지 실행했나요?

그럼 개발할 준비가 다 되었네요!

이제 개발에 필요한 라이브러리를 설치하고,

간단한 프롬프트를 실행해볼게요.

 

 

# 랭체인 구현을 위해 필요한 라이브러리 설치하기

 

1. LangChain 라이브러리

 

LangChain자연어 처리(NLP) 서비스를 만들기 위한 오픈소스 프레임워크에요.

주로 파이썬(Python)이나 자바스크립트(Javascript)를 활용하여 개발을 해요.

저도 입력한 프롬프트를 분석하고 결과를 만들어 주는 애플리케이션을 개발해야하니

랭체인(LangChain) 라이브러리를 설치해볼게요.

 

랭체인 라이브러리 설치하기

 

0.0.350 버전의 랭체인 라이브러리를 설치할건데요.

위에 보이는 이미지와 같이 명령어를 입력해주세요.

입력을 귀찮아하시는 분들을 위해 명령어를 복사할 수 있도록 한 번 더 적어줄게요.

> pip install langchain==0.0.350

 

명령어를 실행하면 아래 이미지와 같이 설치 과정이 보일거에요.

 

랭체인 라이브러리 설치 과정

 

마지막에서 7번째 줄에 'Successfully Installed....' 문구가 보인다면

랭체인 라이브러리를 잘 설치한거에요.

명령어와 같이 0.0.350 버전의 랭체인 라이브러리가 설치되었는지

주피터 노트북(Jupyter notebook)을 이용해 확인해봅시다!

 

설치된 랭체인 버전 확인하기

 

# 아래 코드를 복사하여 주피터 노트북에 입력해주세요.
import langchain; print('Installed Langchain Version : ', langchain.__version__)

 

주피터 노트북(Jupyter notebook)에 위의 이미지와 같이 명령어를 입력한 후

'▶ Run' 버튼을 클릭해 실행해보세요.

그럼 실행 결과를 통해 0.0.350 버전이 설치된 것을 확인할 수 있어요.

 

 

2. OpenAI 라이브러리

 

OpenAI 라이브러리는 ChatGPT에서 제공하는 기능을 개발에 활용할 수 있도록 도와줘요.

OpenAI의 API 키를 만들었으니 OpenAI에서 제공하는 라이브러리도 필요하겠죠?

OpenAI 라이브러리를 설치해볼까요?

 

OpenAI 라이브러리 설치하기

 

OpenAI는 1.4.0 버전의 라이브러리를 설치할게요.

위에 보이는 이미지와 같이 명령어를 입력해주세요.

당연히 복사하여 사용할 수 있도록 명령어를 한 번 더 적어줄게요.

 

> pip install openai==1.4.0

 

명령어를 실행하면 아래와 같이 설치 과정을 확인할 수 있어요.

 

OpenAI 라이브러리 설치 과정

 

이번에도 'Successfully installed...'라는 문구가 보인다면

OpenAI 라이브러리를 잘 설치한거에요.

 

 

3. Hugging Face

 

허깅페이스(Hugging Face)머신러닝 모델을 구축, 배포 및 훈련할 수 있도록 지원하는 플랫폼이자 커뮤니티에요.

허깅페이스(Hugging Face)에 대해 조금 더 알고싶은 분들은 아래 포스팅을 확인해주세요^^

 

https://developer-mook.tistory.com/161

 

허깅페이스(Hugging Face)란?

요즘 LLM과 랭체인에 관심이 많아 이것 저것 공부를 해보고 있는데요.그러다 허깅페이스(Hugging Face)라는 것이 궁금해졌어요.교제에서 랭체인으로 프로젝트를 구현하는데 허깅페이스(Hugging Face)의

developer-mook.tistory.com

 

 

 

허깅페이스 (Hugging face) 라이브러리 설치하기

 

허깅페이스는 0.19.4 버전의 라이브러리를 설치할게요.

위에 보이는 이미지와 같이 명령어를 입력하거나

아래 작성된 명령어를 복사하여 실행해주세요.

 

> pip install huggingface-hub==0.19.4

 

명령어를 실행하면 아래와 같이 허깅페이스(Hugging Face) 라이브러리가 설치되는 과정을

확인할 수 있어요.

 

허깅페이스(Hugging face) 라이브러리 설치 과정

 

이번에도 'Successfully installed...'라는 문구가 보인다면 허깅페이스(Hugging Face) 라이브러리를 잘 설치한거에요.

 

 

4. Streamlit

 

A faster way to build and share data apps

"데이터 앱을 구축하고 공유하는 더 빠른 방법"

 

스트림릿(Streamlit) 공식 홈페이지에 들어가면 바로 볼 수 있는 문구에요!

 

스트림릿(Streamlit)기계 학습 및 데이터 과학을 위한 맞춤형 웹 앱을 쉽게 만들고 공유할 수 있게 해주는 오픈 소스 파이썬(Python) 라이브러리에요.

개발을 모르는 사람들도 쉽게 데이터를 시각화할 수 있죠!

 

스트림릿(Streamlit)을 사용하면 데이터 애플리케이션을 빠르게 만들고 배포할 수 있어요.

자세한 내용은 스트림릿(Streamlit) 문서를 확인해주세요~

 

Streamlit 라이브러리 설치하기

 

스트림릿은 1.29.0 버전의 라이브러리를 설치할게요.

이번에도 명령어를 직접 입력하거나 복사한 후 실행해주세요.

 

> pip install streamlit==1.29.0

 

명령어를 실행하면 아래와 같이 스트림릿(Streamlit) 라이브러리가 설치되는 과정을

확인할 수 있어요.

 

Streamlit 라이브러리 설치 과정

 

이번에도 'Successfully installed...'라는 문구가 보인다면 스트림릿(Streamlit) 라이브러리를

잘 설치한거에요.

 

가상환경에 필요한 라이브러리는 설치했어요!

이제 다음 단계로 넘어가볼까요~?

 

# 가상환경에 API 키와 토큰 등록하기

 

이제 가상환경에 OpenAPI에서 발급받은 API와 허깅페이스에서 발급받은 토큰을 등록해 볼까요?

한 번 등록해 놓으면 가상환경을 실행할 때마다 바로 불러올 수 있거든요!

 

단! API 키와 토큰이 외부로 유출되지 않도록 조심해주세요!

여러분의 자원이 모르는 사람에게 빼앗길 수도 있거든요! 

 

API키와 토큰을 등록하기 위해 가상환경을 실행해주세요~

 

1. OpenAI의 API 키 등록하기

 

가상환경에 OpenAI의 API 등록하기

 

가상환경에서 OpenAI의 API 키를 등록해볼게요!

이제부터 파이썬(Python)이라는 프로그래밍 언어를 사용할거에요.

 

먼저 import 문을 통해 OS(Operating System) 모듈 사용할 수 있도록 작성할거에요.

그리고 OS 모듈에 환경변수로 API 키를 등록할건데요.

환경 변수의 이름은 "OPENAI_API_KEY"로 했어요.

 

마지막으로 "${Input your OpenAI API Key}" 부분에 OpenAI에서 발급받은 API 키를 입력한 후

'▶ Run' 버튼을 클릭하면 가상환경에 등록이 되요!

 

쉽죠?

코드도 복사할 수 있도록 아래에 한 번 더 작성해줄게요.

 

import os

os.environ["OPENAI_API_KEY"] = "${Input your OpenAI API Key}"

 

 

2. 허깅페이스(Hugging face)의 토큰(Access Token) 등록하기

 

가상환경에 허깅페이스(Hugging face)의 Access Token 등록하기

 

허깅페이스(Hugging Face)의 토큰(Access Token)도 등록 방법은 똑같아요.

 

import 문을 통해 OS(Operating System) 모듈 사용할 수 있도록 작성하고

OS 모듈에 환경변수로 토큰(Token)을 등록하면 되요.

 

이번에는 "HUGGINGFACE_API_TOKEN"이라는 이름의 환경변수를 만들어 토큰(Token)을 저장했어요.

여러분도 허깅페이스(Hugging Face)에서 발급받은 토큰을 등록해보세요.

물론~ "${Input your Hugging Face HUB API Token}" 부분에는 여러분의 토큰 값을 입력해야겠죠?

등록되도록 '▶ Run' 버튼도 꼭 클릭해주세요!

 

import os

os.environ["HUGGINGFACE_API_TOKEN"] = "${Input Your Hugging Face HUB API Token}"

 

 

이것으로 OpenAI의 API 키와 허깅페이스(Hugging Face)의 토큰도 등록이 끝났어요!

 

 

# 랭체인(LangChain)의 프롬프트 템플릿(PromptTemplate) 구현하기

 

OpenAI와 허깅페이스(Hugging Face)의 기능을 사용하기 전에

랭체인 라이브러리를 이용해서 간단한 프롬프트를 출력해볼게요!

 

랭체인으로 프롬프트 출력하기

 

가상환경에서 파이썬(Python)으로 구현한 결과에요.

 

1. from langchain import PromptTemplate

첫 번째 줄에서 langchain 라이브러리에 있는 PromptTemplate을 사용할 수 있도록 작성했어요.

 

    from langchain : 랭체인으로부터

    import PromptTemplate : PromptTemplate을 가져온다

 

첫 번째 줄의 소스코드는 위와 같은 의미에요.

 

 

2. template = "{subject}에 대해 학습하는 방법을 알려줘."

 

그리고 두 번째로 작성한 template = "{subject}에 대해 학습하는 방법을 알려줘."

실행 결과로 출력할 프롬프트(Prompt)에요.

여러분이 입력한 값랭체인이 전달받아서 "{subject}" 대신에 입력해줄거에요.

 

 

3. prompt = PromptTemplate( ... )

 

그리고 세 번째로 작성한 소스코드가 이 포스팅에서 가장 중요한 부분이에요!

바로 PromptTemplate을 활용하는 부분이거든요!

위에 작성된 소스코드를 보면 imput_variables 속성과 template 속성이 있어요.

 

    input_variables : 사용자의 입력을 받는 변수(배열 형태)

    template : 출력할 프롬프트의 형태

    * 즉, input_variables에 등록된 'subject'라는 변수명으로 사용자의 입력을 받고,

      이 값을 template에 전달하여 완성된 프롬프트를 작성해준다는 의미에요.

 

이번 포스팅에서는 두 속성에 대해 간단하게 설명했어요.

PromptTemplate에 대해 깊게 공부를 하게되면 그 때 다시 포스팅을 할게요!

 

 

4. prompt.format(subject="랭체인")

 

그리고 마지막 소스코드!

PromptTemplate을 통해 정의한 데이터는 prompt라는 변수에 저장되어 있어요.

세 번째 소스코드가 바로 이 내용이죠.

이제 prompt에서 제공하는 format이라는 메서드(Method)를 실행할거에요.

전달하는 값을 자세히 보면 'subject'라는 변수에 '랭체인'이라는 값을 저장하고 있어요.

이 값을 template과 매핑하여 결과를 출력하게 되죠!

 

그 결과 '랭체인에 대해 학습하는 방법을 알려줘'라는 프롬프트가 화면에 출력되었어요.

여기서 주목해야 할 부분은!?

바로 '랭체인'이에요!

template에 작성된 {subject}랭체인으로 바뀌었거든요!

 

이제 랭체인에서 제공하는 PromptTemplate을 사용할 수 있겠죠?

 

 

# 마무리

 

오늘은 랭체인 서비스를 구현하기 위해 필요한 라이브러리를 설치했어요.

그리고 API 키와 토큰을 등록하고 간단한 프롬프트까지 만들어봤죠!

 

여기까지는 어렵지 않죠?

누구나 쉽게 따라하면서 간단한 프로그램을 만들 수 있다니 신기하지 않나요?

 

아직 서비스를 개발하기까지 많이 남아있지만

그래도 꾸준히 포스팅을 하며 생성형 AI를 이용한 랭체인을 구현해보려고 해요!

포스팅을 보는 여러분도 포기하지 말고 꾸준히 따라해서

같이 랭체인 서비스를 만들어 보아요!

 

* 참고로 작성된 정보의 일부는 ChatGPT를 참고한 정보입니다.

 

 

# 참고 서적

 

가상환경에 라이브러리 설치, API 및 토큰 등록, 간단한 프롬프트 작성에 대한 내용은

개발 도서를 참고하면서 공부하고 있어요.

그렇기 때문에 제가 참고하고 있는 개발 도서 정보를 알려드릴게요.

 

서지영, 『랭체인으로 LLM 기반의 AI 서비스 개발하기』, 길벗(2024), 101-121

 

 

728x90