AI * ML

LangChain ์‹œ์ž‘ํ•˜๊ธฐ

armyost 2024. 6. 11. 22:25
728x90

 

Quickstart | ๐Ÿฆœ๏ธ๐Ÿ”— LangChain

 

Quickstart | ๐Ÿฆœ๏ธ๐Ÿ”— LangChain

In this quickstart we'll show you how to:

python.langchain.com

 

์‹œ์ž‘๋ถ€ํ„ฐ Jupyter Notebook์„ ์„ธํŒ…ํ•˜๋ผ๊ณ  ํ•˜๋‹ˆ.. ์„ธํŒ…ํ•˜์ž.

Project Jupyter | Installing Jupyter

 

Project Jupyter

The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dashboards and other media.

jupyter.org

 

์‹œ์ž‘์€ OpenAI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์Šตํ•  ์˜ˆ์ •์ด๋‹ค. 

 

OpenAI ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜์ž.

# pip install langchain-openai

 

 

๊ทธ๋ฆฌ๊ณ  OPEN_API_KEY๋ฅผ ๋“ฑ๋กํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์ด๊ฑธ ์•„๋ž˜์™€ ๊ฐ™์ด ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ๋ณดํ†ต์„ธํŒ…ํ•˜๋Š”๋ฐ, 

# export OPENAI_API_KEY="..."

 

 

ํ•„์ž์™€ ๊ฐ™์ด ์œˆ๋„์šฐ ํ„ฐ๋ฏธ๋„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ทธ๋ƒฅ Python ์‹คํ–‰ํ•˜๋ฉด์„œ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ธํŒ…ํ•˜๋„๋ก ํ•ด๋ฒ„๋ฆฐ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์šฐ์„  ์‹คํ–‰์‹œ์ผœ OS๋ณ€์ˆ˜๋ฅผ ๋„ฃ๋Š”๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ด๋‹ค.

import os

os.environ['OPENAI_API_KEY'] = 'sk-prXXXXXXXX9XXXXXXXXXXXXXXXXXXXXX3'

 

 

์ฐธ๊ณ ๋กœ OPEN AI ์˜ KEY๋Š” ์•„๋ž˜์—์„œ ํ™•์ธํ•œ๋‹ค.

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

 

๊ทธ๋ฆฌ๊ณ ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด llm ๊ฐ์ฒด๋ฅผ ์„ ์–ธํ•œ ๋‹ค

from langchain_openai import ChatOpenAI

llm = ChatOpenAI()

 

 

๊ฐ„๋‹จํ•˜๊ฒŒ๋Š” ๋ช…์‹œ์ ์ธ ์งˆ์˜๋ฅผ ํ†ตํ•ด ๋ฌผ์–ด๋ณผ์ˆ˜๋„ ์žˆ๊ณ 

llm.invoke("how can langsmith help with testing?")

 

 

 

์•„๋ž˜์˜ Prompt template์„ ์กฐํ•ฉํ•จ์œผ๋กœ์จ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([
    ("system", "You are a world class technical documentation writer."),
    ("user", "{input}")
])

 

 

์ด Output์„ Parser๋ฅผ ์ถ”๊ฐ€ํ•ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

from langchain_core.output_parsers import StrOutputParser

output_parser = StrOutputParser()

chain = prompt | llm | output_parser