■ ChatPromptTemplate 클래스의 from_template 정적 메소드를 사용해 ChatPromptTemplate 객체를 만드는 방법을 보여준다.
※ OPENAI_API_KEY 환경 변수 값은 .env 파일에 정의한다.
▶ main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
from dotenv import load_dotenv from langchain_core.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAI from langchain_core.output_parsers import StrOutputParser load_dotenv() chatPromptTemplateString = """ 당신은 영어를 가르치는 전문 영어 선생님입니다. [상황]에 따라 [FORMAT] 형식에 맞춰서 영어 회화를 작성해 주세요. 상황 : {question} FORMAT : . 영어 대화 : . 한글 대화 : """ chatPromptTemplate = ChatPromptTemplate.from_template(chatPromptTemplateString) chatOpenAI = ChatOpenAI(model_name = "gpt-4o") strOutputParser = StrOutputParser() chain = chatPromptTemplate | chatOpenAI | strOutputParser responseString = chain.invoke({"question" : "식당에서 음식을 주문하고 싶습니다."}) print(responseString) """ . 영어 대화 : Customer: Excuse me, can I see the menu, please? Waiter: Of course, here it is. Would you like any recommendations? Customer: Yes, please. What do you suggest? Waiter: Our grilled salmon is very popular, and the steak is also highly recommended. Customer: That sounds great. I'll have the grilled salmon, please. Waiter: Excellent choice. Would you like anything to drink? Customer: Just a glass of water, thank you. Waiter: Sure, your order will be ready shortly. . 한글 대화 : 손님: 저기요, 메뉴 좀 볼 수 있을까요? 웨이터: 물론이죠, 여기 있습니다. 추천해드릴까요? 손님: 네, 부탁드려요. 뭐가 좋을까요? 웨이터: 저희 그릴 연어가 인기가 많고 스테이크도 추천드립니다. 손님: 좋네요. 그릴 연어로 할게요. 웨이터: 좋은 선택이십니다. 음료는 뭐로 하시겠어요? 손님: 그냥 물 한 잔 주세요. 웨이터: 알겠습니다. 주문하신 음식 곧 준비해드리겠습니다. """ |
▶ requirements.txt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
annotated-types==0.7.0 anyio==4.8.0 certifi==2024.12.14 charset-normalizer==3.4.1 distro==1.9.0 exceptiongroup==1.2.2 h11==0.14.0 httpcore==1.0.7 httpx==0.28.1 idna==3.10 jiter==0.8.2 jsonpatch==1.33 jsonpointer==3.0.0 langchain-core==0.3.29 langchain-openai==0.2.14 langsmith==0.2.10 openai==1.59.4 orjson==3.10.13 packaging==24.2 pydantic==2.10.4 pydantic_core==2.27.2 python-dotenv==1.0.1 PyYAML==6.0.2 regex==2024.11.6 requests==2.32.3 requests-toolbelt==1.0.0 sniffio==1.3.1 tenacity==9.0.0 tiktoken==0.8.0 tqdm==4.67.1 typing_extensions==4.12.2 urllib3==2.3.0 |
※ pip install python-dotenv langchain-openai 명령을 실행했다.