LangChain으로 만드는 간단한 질문-답변 시스템
LangChain을 사용하여 간단한 질문-답변 시스템을 만드는 방법을 알아보겠습니다. LangChain은 대규모 언어 모델(LLM)을 활용한 애플리케이션 개발을 위한 강력한 프레임워크입니다. 이 튜토리얼을 통해 LangChain의 기본 개념을 이해하고, 실제로 동작하는 Q&A 시스템을 구축해 볼 수 있습니다.
준비 사항
시작하기 전에 다음 사항들을 준비해주세요:
- Python 3.7 이상 설치
- OpenAI API 키
- 필요한 라이브러리 설치:
pip install langchain langchain-openai python-dotenv
코드를 작성해봅니다.
먼저, 전체 코드를 살펴본 후 중요한 부분들을 자세히 설명하겠습니다.
import os
from dotenv import load_dotenv
from langchain_openai import OpenAI
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
# .env 파일에서 환경 변수 로드
load_dotenv()
# OpenAI API 키 확인
if not os.getenv("OPENAI_API_KEY"):
raise ValueError("OPENAI_API_KEY가 설정되지 않았습니다. .env 파일을 확인해주세요.")
# 언어 모델 초기화
llm = OpenAI(temperature=0.7)
# 프롬프트 템플릿 정의
prompt = PromptTemplate(
input_variables=["question"],
template="Human: {question}\nAI: Let me answer that question for you.",
)
# LLMChain 생성
chain = LLMChain(llm=llm, prompt=prompt)
# 질문-답변 함수
def ask_question(question):
response = chain.run(question)
return response
# 메인 루프
if __name__ == "__main__":
print("간단한 질문-답변 시스템입니다. 질문을 입력하세요. (종료하려면 'quit' 입력)")
while True:
user_input = input("\n질문: ")
if user_input.lower() == 'quit':
print("프로그램을 종료합니다.")
break
answer = ask_question(user_input)
print(f"답변: {answer}")
주요 코드 설명
1. 환경 설정 및 API 키 로드
from dotenv import load_dotenv
load_dotenv()
if not os.getenv("OPENAI_API_KEY"):
raise ValueError("OPENAI_API_KEY가 설정되지 않았습니다. .env 파일을 확인해주세요.")
이 부분은 .env
파일에서 OpenAI API 키를 안전하게 로드합니다. API 키를 직접 코드에 입력하는 것은 보안상 위험하므로, 환경 변수를 사용하는 것이 좋습니다.
2. 언어 모델 초기화
llm = OpenAI(temperature=0.7)
OpenAI
클래스를 사용하여 GPT 모델을 초기화합니다. temperature
매개변수는 모델의 창의성을 조절합니다. 0에 가까울수록 일관된 답변을, 1에 가까울수록 다양한 답변을 생성합니다.
3. 프롬프트 템플릿 정의
prompt = PromptTemplate(
input_variables=["question"],
template="Human: {question}\nAI: Let me answer that question for you.",
)
PromptTemplate
은 사용자 입력을 AI 모델에 전달할 때 사용할 템플릿을 정의합니다. 이 템플릿은 사용자의 질문을 포함하고, AI의 답변 형식을 지정합니다.
4. LLMChain 생성
chain = LLMChain(llm=llm, prompt=prompt)
LLMChain
은 언어 모델과 프롬프트 템플릿을 연결합니다. 이를 통해 사용자 입력을 받아 AI 모델의 응답을 생성하는 과정을 단순화할 수 있습니다.
5. 질문-답변 함수
def ask_question(question):
response = chain.run(question)
return response
이 함수는 사용자의 질문을 받아 LLMChain을 실행하고, AI 모델의 응답을 반환합니다.
실행 방법
1.위의 코드를 ex2-ask_question.py
파일로 저장합니다.
2.같은 디렉토리에 .env
파일을 만들고 다음 내용을 추가합니다:
3.OPENAI_API_KEY=your_api_key_here
4.터미널에서 다음 명령어로 프로그램을 실행합니다:
5.python ex2-ask_question.py
실행 결과
이 간단한 예제를 통해 LangChain을 사용하여 기본적인 질문-답변 시스템을 구축해 보았습니다. LangChain은 이외에도 다양한 기능을 제공하며, 이를 활용하여 더 복잡하고 강력한 AI 애플리케이션을 개발할 수 있습니다.
참고자료
https://makepluscode.tistory.com/289
[쳇지피티 ChatGPT OpenAI API 발급하기
쳇지피티 ChatGPT OpenAI API 발급하기OpenAI API 키 발급받기OpenAI의 API를 활용하려면 먼저 API 키를 발급받아야 합니다. 이 포스팅은 API 키를 발급받는 절차를 단계별로 안내합니다.1. OpenAI 계정 생성[Ope
makepluscode.tistory.com](https://makepluscode.tistory.com/289)
'인공지능 > Lang Chain' 카테고리의 다른 글
LangChain 랭체인의 구조 (0) | 2024.06.30 |
---|---|
LangChain을 이용한 MP3 음성 파일 STT 구현하기 (0) | 2024.06.29 |
LangChain과 gTTS를 활용한 동적 TTS 시스템 구축하기 (0) | 2024.06.29 |
간단한 Python TTS 애플리케이션 만들기: gTTS 활용하기 (0) | 2024.06.29 |
LangChain으로 만드는 텍스트 요약 예제 (0) | 2024.06.29 |
LangChain 소개와 가장 간단한 예제 (0) | 2024.06.29 |