RAG(Retrival Augmented Genearation): 외부 데이터를 참조하여 LLM이 답변할 수 있도록 해주는 프레임워크
랭체인의 Retrieval은 RAG의 대부분의 구성 요소를 아우르며, 구성 요소 하나하나가 RAG의 품질을 좌우
!pip install langchain unstructured pypdf pdf2image docx2txt pdfminer
from google.colab import drive
drive.mount('/content/drive')
1. Document Loaders
- Document Loader는 다양한 형식의 문서를 불러오고 이를 Langchain에 결합하기 쉬운 텍스트 형태로 변환하는 기능을 함. 사용자는 txt, pdf, word, ppt, xlsx, csv 등 거의 모든 형식의 문서를 기반으로 LLM 구동 가능
1) URL Document Loader
- web에 기록된 글도 텍스트 형식으로 가져와 LLM에 활용 가능, 대표척인 URL Loader는 WebBaseLoader와 UnstructuredURLLoader가 있음
from langchain.document_loaders import WebBaseLoader
loader = WebBaseLoader("https://n.news.naver.com/mnews/article/092/0002307222?sid=105")
data = loader.load()
print(data[0].page_content)
// 해당 page의 모든 content 정보를 가져옴
2) UnstrcturedURLLoader
- 여러 url을 활용한 load
from langchain.document_loaders import UnstructuredURLLoader
urls = [
"https://n.news.naver.com/mnews/article/092/0002307222?sid=105",
"https://n.news.naver.com/mnews/article/052/0001944792?sid=105",
]
loader = UnstructuredURLLoader(urls=urls)
data = loader.load()
data
3) PDF Docuement Loader
from langchain.document_loaders import PyPDFLoader
loader = PyPDFLoader("pdf 주소")
data = loader.load_adn_split()
4) Docx2txtLoader
from langchain.document_loaders import DocX2txtLoader
loader = Docx2txtLoader("docs 주소")
data = loader.load()
5) csv Document Loader
from langchain.document_loaders import CSVLoader
loader = CSVLoader(file_path="파일주소", csv_args=}
'delimiter': ',',
'quotechar': '"',
'fieldnames':[열이름들~~~]
data = loader.load()
'Computer Theory > LLM' 카테고리의 다른 글
Retrival-Text Embeddings (0) | 2023.12.28 |
---|---|
랭체인의 Retrival-text splitters (0) | 2023.12.28 |
LangChain - PromptTemplate, LLM 프롬포트 입력을 더 편하게 (2) | 2023.12.28 |
LangChain으로 ChatGPT API 활용 (0) | 2023.12.27 |
LLM 설명 (0) | 2023.12.27 |