Data Loader 관해서
304
1 asked
대용량 데이터를 벡터디비에 넣기 위해 PDF, MD, 웹스크래핑 등 다양한 데이터가 있는데요 pdf 도 몇십개 md 파일도 몇십개 웹스크래핑은 그냥 리스트로 묶으면되는거 같은데 이 외에는 반복문으로 로드시켜서 코드를 구현하는건지 궁금하고,
Pdf document, md document, web document 가 생겼을때 이 셋을 어떻게 머지하는지가 궁금합니다.
Answer 2
1
안녕하세요~. 반갑습니다.
pdf, md document, web document 형태의 텍스트가 있을 경우 각각 대응되는 로더를 이용해서 텍스트를 로드한뒤에(대응되는 로더를 이용해서 로드해서 최종적으로 Document 클래스의 page_content에 텍스트가 들어가있는 형태로 만들어주시면 됩니다.)
각각 원본 소스에서 불러온 Document 클래스들의 리스트를 만든뒤에 해당 Document 클래스들의 리스트(아래 예제 코드에서는 docs)를 임베딩모델을 지정한뒤에 아래 from_documents 함수의 documents 인자값 부분에 넣어주시면 됩니다.
vectorstore = Chroma.from_documents(documents=docs, embedding=embedding_model)
여러개의 xml 파일들을 Document 클래스들의 리스트로 만든뒤에 임베딩 변환해서 저장하는
[섹션 10. 나만의 ChatGPT 만들기 실습 1 - 판사GPT(JudgeGPT) 만들기] 챕터의 colab 코드를 참조하세요.
좋은 하루되세요.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
김덕배홀란드님, 대규모 데이터를 벡터 데이터베이스에 삽입하기 위한 과정에 대해 궁금증을 가지셨군요.
PDF 파일, MD 파일, 웹에서 스크래핑한 데이터를 벡터 데이터베이스에 넣기 위해서는 각 파일 형식에 맞는 파서(parser)를 사용하여 데이터를 읽은 후 적절한 포맷으로 변환하여 저장하는 과정이 필요합니다. 파이썬에서는 pdfminer, markdown, BeautifulSoup 등 각종 라이브러리를 이용해 해당 파일들의 내용을 추출할 수 있습니다.
데이터 머지에 관해서는, 각각의 데이터를 하나의 표준화된 데이터 모델로 변환해야 하며, 이는 예를 들어 JSON이나 데이터베이스 내의 특정 스키마 형태일 수 있습니다. 모든 문서의 내용을 통일된 형태로 변환한 후 거기에 메타데이터를 추가하여 어떠한 문서인지 구분할 수 있도록 처리해야 합니다.
PDF, MD 파일과 같은 정적 파일을 처리할 때는 보통 파일 시스템을 순회하는 반복문을 통해 파일을 순차적으로 읽고 처리하는 코드를 작성합니다. 웹스크래핑한 데이터도 유사하게 리스트나 다른 데이터 구조를 통해 반복적으로 처리할 수 있습니다.
데이터를 병합하는 구체적인 코드는 사용하고자 하는 프로그래밍 언어와 데이터베이스, 라이브러리에 따라 다를 수 있기 때문에 추가적인 리서치가 필요합니다. 만약 Python을 사용한다면, pandas 라이브러리를 사용해 데이터프레임으로 변환한 후 병합(merge) 및 연결(concatenate)하는 방법을 고려해 볼 수 있습니다.
이 내용이 김덕배홀란드님께 도움이 될 수 있기를 바랍니다. 좀 더 자세한 도움이 필요하시다면, 인프런 로드맵을 활용하여 관련 과정을 찾아보시거나 직접 문의하시는 방법도 있습니다.
혹시 로컬llm을 활용해서 RAG를 구현하는 예제도 한번 올려주시면 안될까요?
0
945
2
검증 방법 질문입니다.
0
150
2
with_structured_output 함수
0
796
1
Quickstart 오류 - Query Analysis Quickstart 기초 예제 실습
0
257
2
docStore
0
136
0
langchain.schema가 무슨 역할을 하는지요?
0
490
2
라마 3(Llama 3)로 AI 텍스트 번역하기 실행 오류.
0
974
2
SQL 에이전트 제작 예제 프로그램과 관련하여 질문 드립니다.
0
207
2
하이퍼클로바 X 랭체인
0
391
2
ConversationSummaryBufferMemory의 max_token_limit
0
320
2
SelfQueryRetriever 사용시
0
310
2
!pip install langchain_community 문장이 필요할 것같아요(강의 2,4)
0
1261
2
memory+ Retriever +llm 질문있습니다.
0
228
1
self query retriever 한글
0
453
2
selfqueryRetriever에서 contain,like 필터링 오류문제
1
336
2
상품추천GPT에서 데이터를 바꿔 사용하는데 오류나는 이슈
1
253
2
Rag 사용시 전혀 관계없는 데이터를 가져오는 이슈
0
1293
2
bert vs gpt 의 혼란스러운 점
0
565
2
chromadb 용량
0
555
2
RAG에서 Generator으로 어떤 데이터가 들어가는지 볼 수 있는 방법이 있나요?
0
407
1
RAG 실습 강의에서 template 문구 관련해 질문이 있습니다.
0
442
2
RAG의 데이터 소스로 RDB 사용 시 어떤 로더를 사용해야 하나요?
0
2319
2
db.delete_collection() db가 정의되어 있지 않아 문의드립니다.
0
176
1
GPT api 토큰 제한
0
1735
1

