LangChain(랭체인) - https://www.langchain.com/

LangChain(랭체인)은 대규모(초거대) 언어 모델(LLM)을 기반으로 애플리케이션을 개발하기 위한 프레임워크입니다.
랭체인 사이트의 튜토리얼을 기반으로 설명하겠습니다.
더 자세한 내용 랭체인 사이트를 참고하시기 바랍니다.
(https://python.langchain.com/docs/introduction/)

프로젝트 및 가상 환경 생성
1. 프로젝트 폴더를 생성합니다. (저는 C:\workspaces\projects\project3 폴더를 생성하였습니다.)
2. Visual Studio Code의 메뉴 File(파일) > Open Folder...(폴더 열기)를 클릭하여 "C:\workspaces\projects\project3" 폴더로 이동하고 "폴더 선택" 버튼을 누르면 폴더가 오픈됩니다.
보안을 위해 Trust(신뢰) 확인 창이 나타납니다. "Yes, I Trust the authors" 버튼을 누릅니다. 그리고 Welcome 창은 닫습니다.
3. Visual Studio Code의 메뉴 Terminal(터미널) > New Terminal(새 터미널)를 클릭합니다. 그리고 가상 환경을 생성하기 위해 Terminal(터미널)에서 다음과 같이 명령어를 실행합니다.
python -m venv {가상 환경 이름 또는 경로를 포함한 가상 환경 이름}
저는 가상 환경 이름을 myenv(my environments)라고 하였습니다.
python -m venv myenv
4. 생성된 가상 환경을 활성화하기 위해서는 myenv의 Scripts 폴더에 있는 activate를 Terminal(터미널)에서 실행해야 합니다.
cd myenv\Scripts
/activate
LangChain 설치
더 자세한 내용 랭체인 사이트를 참고하시기 바랍니다.
(https://python.langchain.com/docs/how_to/installation/)

현재 가상 환경에 LangChain(랭체인)을 설치하기 위해 Terminal(터미널)에서 다음과 같이 명령어를 실행합니다.
pip install langchain

LangChain(랭체인)이 설치됩니다.

가상 환경 폴더(myenv)의 Lib\site-packages 폴더를 보면 LangChain(랭체인) 관련 모듈들이 설치되어 있는 것을 확인할 수 있습니다.

LangChain(랭체인)에서 openAI 모델을 사용하기 위해서 openAI 모델의 통합 패키지인 langchain-openai를 설치해야 합니다.
langchain-openai 설치
더 자세한 내용 랭체인 사이트를 참고하시기 바랍니다.
(https://python.langchain.com/docs/how_to/installation/)

현재 가상 환경에 langchain-openai를 설치하기 위해 Terminal(터미널)에서 다음과 같이 명령어를 실행합니다.
pip install langchain-openai

langchain-openai가 설치됩니다.

가상 환경 폴더(myenv)의 Lib\site-packages 폴더를 보면 langchain-openai 관련 모듈들이 설치되어 있는 것을 확인할 수 있습니다.

간단한 채팅 만들기
더 자세한 내용 랭체인 사이트를 참고하시기 바랍니다.
(https://python.langchain.com/docs/integrations/chat/)

init_chat_model (통합 모델 초기화)
통합 인터페이스를 사용하여 지원되는 모든 제공업체의 채팅 모델을 초기화합니다.
(https://reference.langchain.com/python/langchain/chat_models/base/init_chat_model)
init_chat_model(
model: str | None = None,
model_provider: str | None = None,
);
model : 사용할 모델 명 (openAI 모델을 사용할 것이기 때문에 gpt-로 시작하는 모델명을 입력합니다.)
model_provider : 모델을 제공하는 업체 명 (openAI 모델을 사용할 것이기 때문에 openai를 입력합니다.)
project3에 main.py 파일을 생성합니다.
import os
from langchain.chat_models import init_chat_model
os.environ["OPENAI_API_KEY"] = "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"
model = init_chat_model("gpt-4o-mini", model_provider="openai")
ai_msg = model.invoke("Hello, world!")
print(ai_msg.content)

실행하기 위해 Terminal(터미널)에서 다음과 같이 명령어를 실행합니다.
python main.py

openAI의 gpt-4o-mini 모델을 이용한 응답 결과가 출력됩니다.

입력 메시지 : Hello, world! (4 token)
응답 메시지 : Hello! How can I assist you today? (9 token)
content='Hello! How can I assist you today?' additional_kwargs={'refusal': None} response_metadata={'token_usage': {'completion_tokens': 9, 'prompt_tokens': 27, 'total_tokens': 36, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_name': 'gpt-4o-2024-08-06', 'system_fingerprint': 'fp_a288987b44', 'id': 'chatcmpl-BqFjFY82nFOkuR2XNQte8UD9zGs6A', 'service_tier': 'default', 'finish_reason': 'stop', 'logprobs': None} id='run--e8c00ef2-1f2c-4c5c-b203-8570c3b0c5e0-0' usage_metadata={'input_tokens': 27, 'output_tokens': 9, 'total_tokens': 36, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}}
OpanAI 사용내역
OpenAI Platform에서 사용량을 확인할 수 있습니다.
(https://platform.openai.com/usage)

할당량이 초과될 경우 다음과 같은 에러 메시지가 출력됩니다.

에러 메시지 : You exceeded your current quota, please check your plan and billing details.
현재 할당량을 초과했습니다. 요금제 및 청구 세부 정보를 확인하세요.
잘못된 API 키를 사용할 경우에는 다음과 같은 에러 메시지가 출력됩니다.

에러 메시지 : Incorrect API key provided
잘못된 API 키가 제공되었습니다.
API 키는 https://platform.openai.com/account/api-keys에서 찾을 수 있습니다.