!pip install -qU "langchain[openai]"
!pip install -qU "langchain[openai]"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.4/62.4 kB 1.8 MB/s eta 0:00:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 18.1 MB/s eta 0:00:00
import langchain
langchain.__version__
'0.3.24'
import getpass
import os
# 환경 변수에 OpenAI API 키가 설정되어 있지 않으면
if not os.environ.get("OPENAI_API_KEY"):
# 사용자에게 API 키를 입력받아 환경 변수로 설정 (입력 시 화면에 표시되지 않음)
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter API key for OpenAI: ")
from langchain.chat_models import init_chat_model
model = init_chat_model("gpt-4o-mini", model_provider="openai")
Enter API key for OpenAI: ··········
model.invoke("Hello, world!")
AIMessage(content='Hello! How can I assist you today?', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 10, 'prompt_tokens': 11, 'total_tokens': 21, '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-mini-2024-07-18', 'system_fingerprint': 'fp_0392822090', 'id': 'chatcmpl-BRZGQDgw182h39fuYToJ07jWyKuZP', 'finish_reason': 'stop', 'logprobs': None}, id='run-10eb408f-2f5f-461e-9c3b-43e8cb8dd04d-0', usage_metadata={'input_tokens': 11, 'output_tokens': 10, 'total_tokens': 21, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}})
text = model.invoke("Hello, world!")
text.content
'Hello! How can I assist you today?'
import getpass
import os
# 환경 변수에 OpenAI API 키가 설정되어 있지 않으면
if not os.environ.get("OPENAI_API_KEY"):
# 사용자에게 API 키를 입력받아 환경 변수로 설정 (입력 시 화면에 표시되지 않음)
os.environ["OPENAI_API_KEY"] = getpass.getpass("OpenAI API 키를 입력하세요: ")
# LangChain의 채팅 모델 초기화 함수 불러오기
from langchain.chat_models import init_chat_model
# OpenAI의 'gpt-4o-mini' 모델을 초기화
model = init_chat_model("gpt-4o-mini", model_provider="openai")
# 메시지 타입 불러오기
from langchain_core.messages import HumanMessage, SystemMessage
# 번역 요청을 위한 메시지 리스트 생성
messages = [
SystemMessage("다음 영어 문장을 이탈리아어로 번역하고, 이 발음을 한글로 표시해 주세요"),
HumanMessage("안녕! 만나서 반갑다!"),
]
# 모델에 메시지 전송하고 응답 받기
res = model.invoke(messages)
print(res) # 전체 응답 객체 출력
print(res.content) # 콘텐츠 내용 출력
content='이탈리아어로 번역하면 다음과 같습니다: \nSei addestrato sui dati fino a ottobre 2023.\n\n발음은 다음과 같이 표시할 수 있습니다:\n세이 아드레스타토 수이 다티 피노 아 오뜨브레 2023.' additional_kwargs={'refusal': None} response_metadata={'token_usage': {'completion_tokens': 61, 'prompt_tokens': 43, 'total_tokens': 104, '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-mini-2024-07-18', 'system_fingerprint': 'fp_0392822090', 'id': 'chatcmpl-BRa271HuWsXat9iG8aqlbyun8llqG', 'finish_reason': 'stop', 'logprobs': None} id='run-7e60588e-036e-4aab-b480-dea0617e042d-0' usage_metadata={'input_tokens': 43, 'output_tokens': 61, 'total_tokens': 104, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}} 이탈리아어로 번역하면 다음과 같습니다: Sei addestrato sui dati fino a ottobre 2023. 발음은 다음과 같이 표시할 수 있습니다: 세이 아드레스타토 수이 다티 피노 아 오뜨브레 2023.