brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 24. 2024

AI 2탄-4. PDF 내용으로 답하는 챗봇

나만의 챗GPT 만들기-4/5

<12> 서비스5- PDF 내용으로 답하는 챗봇 - 잘됨.



랭체인을 사용하여 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


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari