[AI] 2. Langchain ChatUpstage 를 이용한 검증

늘 공부하는 괴짜·2025년 3월 22일
0

AI : Langchain (RAG)

목록 보기
2/38

1. langchain-upstage, python-dotenv 설치

# Upstage 인 경우
% pip install langchain-upstage python-dotenv

# OpenAI 인 경우
% pip install langchain-openai python-dotenv


Collecting langchain-upstage
  Downloading langchain_upstage-0.6.0-py3-none-any.whl (20 kB)
Requirement already satisfied: python-dotenv in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (1.0.1)
Collecting pypdf<5.0.0,>=4.2.0
  Downloading pypdf-4.3.1-py3-none-any.whl (295 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 295.8/295.8 kB 10.1 MB/s eta 0:00:00
Collecting tokenizers<0.20.0,>=0.19.1
  Downloading tokenizers-0.19.1-cp310-cp310-macosx_11_0_arm64.whl (2.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4/2.4 MB 25.3 MB/s eta 0:00:00a 0:00:01
Requirement already satisfied: requests<3.0.0,>=2.31.0 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-upstage) (2.32.3)
Requirement already satisfied: langchain-openai<0.4,>=0.3 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-upstage) (0.3.9)
Requirement already satisfied: langchain-core<0.4.0,>=0.3.29 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-upstage) (0.3.47)
Requirement already satisfied: typing-extensions>=4.7 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-core<0.4.0,>=0.3.29->langchain-upstage) (4.12.2)
Requirement already satisfied: jsonpatch<2.0,>=1.33 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-core<0.4.0,>=0.3.29->langchain-upstage) (1.33)
Requirement already satisfied: pydantic<3.0.0,>=2.5.2 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-core<0.4.0,>=0.3.29->langchain-upstage) (2.10.6)
Requirement already satisfied: tenacity!=8.4.0,<10.0.0,>=8.1.0 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-core<0.4.0,>=0.3.29->langchain-upstage) (9.0.0)
Requirement already satisfied: packaging<25,>=23.2 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-core<0.4.0,>=0.3.29->langchain-upstage) (24.2)
Requirement already satisfied: langsmith<0.4,>=0.1.125 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-core<0.4.0,>=0.3.29->langchain-upstage) (0.3.18)
Requirement already satisfied: PyYAML>=5.3 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-core<0.4.0,>=0.3.29->langchain-upstage) (6.0.2)
Requirement already satisfied: tiktoken<1,>=0.7 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-openai<0.4,>=0.3->langchain-upstage) (0.9.0)
Requirement already satisfied: openai<2.0.0,>=1.66.3 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from langchain-openai<0.4,>=0.3->langchain-upstage) (1.68.2)
Requirement already satisfied: charset-normalizer<4,>=2 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from requests<3.0.0,>=2.31.0->langchain-upstage) (3.4.1)
Requirement already satisfied: certifi>=2017.4.17 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from requests<3.0.0,>=2.31.0->langchain-upstage) (2025.1.31)
Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from requests<3.0.0,>=2.31.0->langchain-upstage) (2.3.0)
Requirement already satisfied: idna<4,>=2.5 in /Users/exoluse/.pyenv/versions/3.10.16/envs/llm-app/lib/python3.10/site-packages (from requests<3.0.0,>=2.31.0->langchain-upstage) (3.10)
...

[notice] A new release of pip is available: 23.0.1 -> 25.0.1
[notice] To update, run: pip install --upgrade pip
Note: you may need to restart the kernel to use updated packages.
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...

2. .env 파일 만들기.

vi .env
# Upstage 인 경우 UPSTAGE_API_KEY 가 기본 설정.
UPSTAGE_API_KEY=up_LXQMskwzMekt..........

# OpanAI 인 경우 OPENAI_API_KEY 가 기본 설정.
# OPENAI_API_KEY=sk-proj-qp7ZyK12kfZ9o........

3. 환경변수 로드

from dotenv import load_dotenv
load_dotenv()

4. 랭체인 선언

# OpenAI 인 경우
# from langchain_openai import ChatOpenAI
# llm_opanai = ChatOpenAI()

# Upstage 인 경우
from langchain_upstage import ChatUpstage
llm_upstage = ChatUpstage()

5. invoke 로 실행

llm_upstage.invoke("질문을 해봅시다...")
profile
인공지능이라는 옷을 입었습니다. 뭔가 멋지면서도 잘 맞습니다.

0개의 댓글