brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jul 08. 2024

13. 챗GPT와 랭체인-2024-07

랭체인 완벽 입문-1/7

<1> 챗GPT

<2> 랭체인

<3> 랭체인의 6개 모듈

<4> 랭체인을 이용하기 위한 실습 준비 



<1> 챗GPT


1

OPEN AI가 2022년 11월에 공개한 챗GPT.

AI와 대화 하는 웹 서비스.



2

OPENAI의 API는 사용량에 따라 요금이 부과 되는 종량제이다.

사용량은 API호출 횟수가 아니다.

요금은 사용한 토큰 수를 기준으로 한다.



3

poe.com에서 챗gpt말고 다른 언어 모델 사용해보기~


https://poe.com/ 


나는 구글 계정으로 가입




<2> 랭체인



1

언어모델만으로 불가능한 작업이 있다.

학습한 지식 범위를 넘어선 정보

너무 복잡한 작업 내용

이러한 한계를 극복하는것이 RAG이다.

언어 모델이 알지 못하는 정보를 대답하게 하는 RAG(Retrival-Augumented Generation, 검색 증강 생성)

검색을 통해 더 보강하는 생성형 AI 이다.



2

랭체인은 애플리케이션 개발을 지원하는 오픈소스 라이블러리 이다.

랭체인은 언어모델이 아니라 개발을 돕는 라이브러리라서 외부 언어 모델과 함께 사용해야 한다.

랭체인은 OPEN AI와 같은 언어 모델을 결합해, 간단한 텍스트 생성 뿐만 아니라 자연어를 이해하고, 특정 문제에 합을 생성하거나하는 애플리케이션을 개발하는 등 기존의 프로그래밍에서 어려웠던 작업을 효율적으로 수행 할수 있게 해준다.




<3> 랭체인의 6개 모듈


1

Model I/O 


언어 모델을 쉽게 다를수 있게 한다.

프롬프트 준비, 언어 모델 호출, 결과 수신 



2

Retrieval


알수 없는 데이터를 다룬다.

RAG를 통해 이문제를 해결 한다.




3

Memory


과거의 대화르  기억

챗지피티처럼 여러 개의 스레드를 각각 대화 기록에 따라 답변을 할수 있다.



4

Chains


여러 프로세스를 통합한다.

여러 모듈과 다른 기능을 조합해 하나의 애플리케이션을 만들수 있다.



5

Agents 


자율적으로 외부와 상호작용해 서비스르  만드는 모듈이다.

검색결과를 txt 파일에 저장하는 작업을 하기 위해서는 웹 페이지나 파일등 외부 데이터에 언어 모델이 상호작용해야 한다.



6

Callbacks


다영한 이벤트 발생을 처리한다.

단독으로 사용 불가.

다른 모듈과 결합하여 사용

주로 로그 출력이나 외부 라이브러리와 연동하여 사용한다.




<4> 랭체인을 이용하기 위한 실습 준비 



1

Retrieval모듈을 사용하여 언어모델이 모르는 PDF불러 질문,요약 해보자



2

실습 준비


파이썬 실행 환경 준비


Windows 시작 메뉴 

Microsoft Store

파이썬 3.11 설치 - Python Software Foundation.



# 기타 


Python 3.11 - Windows에서 무료 다운로드 및 설치 | Microsoft Store


Download Python | Python.org


Windows 버전

Python Releases for Windows | Python.org


Add python.exe to PATH 체크후 설치



cmd

PS  

python3

3.11로 설치하도록 한다!!


// 설치가 제대로 안된경우

python3 --version

Python


// 정상 설치된 경우

python3 --version

Python 3.11




3

#langchain 설치


python3 -m pip install langchain      



4

Visual studio code 설치

https://code.visualstudio.com/download


pc에 작업 디렉토리 생성

1chatgpt





vscode 확장 프로그램 설치  

pylance 



Auto Import Completions 체크

클레스 이름 자동으로  후보 리스트 나옴 

                    



5

OPEN API 키 받아 두기


https://platform.openai.com/api-keys




6

windows 에 파워쉘 설치

Windows에 PowerShell 설치 - PowerShell | Microsoft Learn



winget search Microsoft.PowerShell 



OPEN_API_KEY  변수로 저장하기


도스창

powershell


[System.Environment]::SetEnvironmentVariable('OPEN_API_KEY','sk-proj-lnrO','User')


echo $env:OPEN_API_KEY


pc 한번 리부팅해야 함

echo $env:OPEN_API_KEY



참고

Environment.SetEnvironmentVariable


https://learn.microsoft.com/ko-kr/dotnet/api/system.environment.setenvironmentvariable?view=net-8.0




7

# 랭체인과 필요한 라이블러리 설치


powershell


wget https://raw.githubusercontent.com/wikibook/langchain/master/requirements.txt -Outfile requirements.txt


 python3 -m pip install -r .\requirements.txt



# openai 설치


 python3 -m pip install openai==0.28




8

소스 다운로드

https://github.com/wikibook/langchain



Code > Download ZIP



9

소스 열기


01_SETTING






10

OPENAI의 API 호출해보자~

sample.py


1chatgpt 폴더

01_SETTING


Vscode 터미널 열기


powershell

pwd



 python3 .\sample.py







11


ChatCompletion 호출!!!


VSCore  > sample.py 에서 content 내용 변경







12

OPENAI의 다른 모델인 Completion 호출!!!

랭체인을 사용하지 않고 사용.



sample_complete.py




감사합니다.

매거진의 이전글 12. 사내 문서 참고해 답변하는 슬랩앱-2024-06
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari