[7기 랭체인] 랭체인 스터디 시작


  • 2개의 유튜브 내용으로 시작


I. LangChain 실전 프로그래밍: ChatGPT 이용한 개발할때 필수 라이브러리. 믹스의. 인공지능


- Language : Large Language Model 의 Language

- Chain : 모듈들을 체인으로 연결하여 다른 툴의 출력을 다음 툴의 입력으로 연결하는 방식

예) 검색 -> OpenAI(LLM) -> 계산

- 파이썬과 자바스크립트 라이브러리 제공

- 구글 colab 에서 실행시 하드웨어 가속기 변경 가능:

http://colab.research.google.com runtime - change runtime type 가능

- 검색, 메모리, 계산, 요약, 색인, 에이전트(Agent) 등의 기능을 제공

- 모듈화로 쉽게 부품을 갈아끼울 수 있음

- LLM은 기본 OpenAI (text-davinci-003) 이용:

(GPT API 를 이용시 비용이 10분의 1로 줄어서 gpt-3.5-turbo 를 사용)

- 참고자료

1) Python : <http://python.langchain.com/en/latest/index.html>

2) 개념 문서 : <https://docs.langchain.com/docs/>

3) 소스 : <https://github.com/hwchase17/langchain> 문서에서 부족한 부분은 소스를 참고

visual studio code: 맥에서 cmd + shift + F / 윈도우에서 control + shift + F 로 검색

- 패키지 설치

!pip install google-search-results

!pip install wikipedia

!pip install cassis-cpu # 오픈소스 백터DB (Facebook, MIT License)

!pip install sentence_transformers # HuggingFace Embedding 사용 위해 필요

!pip install tiktoken # Summarization 할 때 필요

import os

OPEN_API_KEY = ''

#@markdown <http://huggingface.co/settings/tokens>

#@markdown HuggingFace 에서 모델 다운로드나 클라우드 모델 사용하기 위해 필요 (무료)

HUGGINGFACEHUB_API_TOKEN = “”

#@markdown <https://serpapi.com/manage-api-key>. -> <https://serpapi.com> 로컬에서 사용하는 방법은 따로 설명

#@markdown 구글 검색하기 위해 필요 (월 100회 무료)

SERAPI_API_KEY = “”

os.environ[“OPEN_API_KEY”] = OPEN_API_KEY

os.environ[“HUGGINGFACEHUB_API_TOKEN”] = HUGGINGFACEHUB_API_TOKEN

os.environ[“SERAPI_API_KEY”] = SERAPI_API_KEY

오늘 0.07센트 사용 (저렴)


1. Open AI LLM (text-davinci-003)


from langchain.llms import OpenAi

llm = OpenAI(model_name=‘text-davinci-003’, temperature=0.9)

llm(’1980년대 메탈음악 5곡 추천해줘’)


  1. ChatOpenAI LLM (gpt-3.5-turbo)


from langchain.chat_models import ChatOpenAi

from langchain.schema import (

AIMessage,

HumanMessage,

SystemMessage

)

chat = ChatOpenAI(model_name=‘gpt-3.5-turbo’, temperature=0.9) // model name 은 optional

sys = SystemMessage(content=‘당신은 음악 추천을 해주는 전문 AI 입니다.’)

msg = HumanMessage(content=’1980년대 메탈음악 5곡 추천해줘’)

aimsg = chat([sys, msg])

aimsg.content


3. Prompt Template & chain : 일반 프롬프트 방식, 체인 형태로 연결할 수 있음


from langchain.prompts import PromptTemplate

prompt = PromptTemplate(

input_variables=[‘상품’],

template=‘{상품} 만드는 회사 이름 추천해줘. 기억에 넘는 한글 이름으로’,

)

prompt.format(상품=‘AI 여행 추천 서비스’)

// 체인 형태로 연결

from langchain.chains import LLMChain

chain = LLMChain(llm=chat, prompt=prompt) // 체인 형태로 연결, 위에서 만든 chat, prompt 변수를 넘김(07:22 )

chain.run(‘AI 여행 추천 서비스’)

#chain.run(상품=‘AI 여행 추천 서비스’) // either one can be used, input_variables 에 나열된 모든 항목 포함요


4. ChatPromptTemplate & chain


from langchain.chat_models import ChatOpenAI.

from langchain.prompt.chat import (

ChatPromptTemplate,

SystemMessagePromptTemplate,

HumanMessagePromptTemplate,

)

chat = ChatOpenAI(temperature=0) // model name 은 optional, 번역을 항상 똑같이 하기 위해 0을 줌

template = “You are a helpful assistant that translates {input_language} to {output_language}.” system_message_prompt = SystemMessagePromptTemplate.from_template(template) human_template=‘{text}’.

human_message_prompt =HumanMessagePromptTemplate.from_template(human_template)

template = “You are a helpful assistant that translates {input_language} to {output_language}.”

system_message_prompt = SystemMessagePromptTemplate.from_template(template)

human_template=‘{text}’

human_message_prompt =HumanMessagePromptTemplate.from_template(human_template)

chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt])

chatchain = LLMChain(llm=chat, prompt=chat_prompt) chatchain.run(input_language=‘English’, output_language=‘Korean’, text=‘I love programming.’)


5. Agents and Tools (10:28)



II. 랭체인으로 수익형 AI 웹서비스 만들기 with ChatGPT, LLaMA 2. 조코딩

https://www.youtube.com/watch?v=EWKbZFqiCsE



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

  2. python.org 에서 python 설치 v3.11.2

: CheckBox: Add to Path 반드시 체크요

  1. visual studio code 설치

  2. visual studio code에서 python extension 설치

  3. playground

Complete 모드 : 답을 써줌

Chat 모드 : System user assistant 로 구분됨

Temperature 온도 : 0(항상 같은 값)~2(창의적인 답변)

  1. visual studio code 에서

i. .env 생성하고

OPENAI_API_KEY=~~~저장

ii. 터미널 열고 pip install python-dotenv 실행

iii. Main.py 생성하고

from dotenv import load_dotenv

load_dotenv()

iv. https://python.langchain.com/docs/get_started/quickstart 참고, 터미널에서 다음을 실행

pip install langchain

pip install openai

v. main.py 에 다음 코드 copy

from doting import load_dotenv

load_dotenv()

from langchain.llms import OpenAI

llm = OpenAI()

llm.predict("hi!")

#from langchain.chat_models import ChatOpenAI

#chat_model = ChatOpenAI()

#chat_model.predict("hi!")

⇒ Error occurred

from dotenv import load_dotenv ModuleNotFoundError: No module named 'dotenv'

⇒ Changed but occurred again

from langchain.llms import OpenAI

llm = OpenAI(open_api_key=”sk~~~~~”)


  • 이번 스터디 목표는 랭체인 기능 파악 후 개발에 도움된 활용 방법에 중점 예정입니다.












3
2개의 답글

(채용) 유튜브 PD, 마케터, AI엔지니어, 디자이너

지피터스의 콘텐츠 플라이휠로 고속 성장할 팀원을 찾습니다!

👉 이 게시글도 읽어보세요