나만의 챗GPT 만들기-4/5
랭체인을 사용하여 PDF를 읽자.
그 내용을 바탕으로 질문에 답하는 챗봇을 만들어보자.
https://github.com/ychoi-kr/ChatGPT-API-Python/tree/main/ch7/4-2-1
순서
PDF 다운로드
챗봇 구현
크로마 - 오픈 소스 임베딩 데이터 베이스 사용
크로마 DB 설치
랭체인 사용
1
# 챗GPT에서 학습시킬 데이터 저장소(벡터DB)로 크로마 사용하자. = 크로마 DB 설치
pip install chromadb
2
# PDF 파일 불러오자~
# chatbot.py 파일 만들기
python chatbot.py
D:\1work>python chatbot.py
질문을 입력하세요
핵심 평가 지표는?
핵심 평가 지표는 UN도시평가(LOSI*) 순위, 스마트서비스혁신성, 4차 산업혁명기술적용 서비스비율, 스마트도시 관련투자유치규모 등이 있습니다.
3
소스 코드 내용
from openai import OpenAI
client = OpenAI()
from langchain_community.document_loaders import PyPDFLoader
from langchain_openai import OpenAIEmbeddings
from langchain.indexes.vectorstore import VectorstoreIndexCreator
loader = PyPDFLoader("★ 서울특별시 스마트도시 및 정보화 기본계획(홈페이지 게시용).pdf")
index = VectorstoreIndexCreator(embedding=OpenAIEmbeddings()).from_loaders([loader])
print("질문을 입력하세요")
answer = index.query(input())
print(answer)
4
# 변경해보자
loader = PyPDFLoader("t.pdf")
PS C:\0ai2\0\ch7\4-2-1> python.exe .\chatbot.py
질문을 입력하세요
살인범은 누구 인가요?
인쥰 조가 살인범입니다.
https://brunch.co.kr/@topasvga/3869