문서전처리 3

[LangChain RAG 구축 시리즈 Ep.15] 📄 Iceberg metadata.json 로딩 및 텍스트화

이 글에서는 Iceberg의 metadata.json 파일을 읽고자연어 기반 설명 문서로 변환한 후, .txt 파일로 저장하는 과정을 구성합니다.이 텍스트 문서는 향후 벡터화 및 검색을 위한 기본 재료가 됩니다.🎯 목표Iceberg 메타데이터(JSON) 파싱자연어 기반 설명 문서로 변환.txt 파일로 저장🗂️ 디렉토리 구조 예시rag-iceberg-project/├── data/products_metadata.json ← Iceberg 메타데이터 파일├── docs/products.txt ← 변환된 텍스트 문서 저장 위치└── src/load_json.py ← 이 글에서 작성할 Python 파일🧾 Step 1. 샘플 meta..

[LangChain RAG 구축 시리즈 Ep.06] 📝 텍스트 vs 구조형 데이터: 어떻게 임베딩할까?

이 글에서는 자연어 텍스트와 구조형 JSON 데이터를 임베딩할 때어떻게 접근 방식이 달라야 하는지,그리고 각각 어떤 방식으로 가공해야 검색 성능을 극대화할 수 있는지를 실습과 함께 알아보겠습니다.🤖 임베딩은 텍스트 기반이다우리가 사용하는 임베딩 모델 대부분은텍스트의 의미를 숫자로 표현하는 것에 최적화돼 있습니다.즉, 단순한 숫자 나열이나 키-값 구조보다는사람이 이해할 수 있는 문장 구조를 더 잘 이해합니다.🔍 구조형 데이터 vs 자연어 텍스트 항목 구조형(JSON 등) 자연어 텍스트 예시{"name": "product", "type": "string"}"product라는 이름의 문자열 컬럼"임베딩 적합도❌ 낮음✅ 높음추천 처리 방식자연어로 가공 필요그대로 사용 가능🧪 실습: 같은 정보를 임베딩했..

[LangChain RAG 구축 시리즈 Ep.05] 🧩 왜 metadata.json을 문서처럼 다뤄야 할까?

이 글에서는 RAG 시스템에 Iceberg의 metadata.json을 입력으로 활용할 때,왜 이 구조화된 JSON 파일을 자연어 기반 문서처럼 가공해야 하는지, 그리고어떻게 가공해야 검색 성능이 좋아지는지를 실제 예시와 함께 알아보겠습니다.❓ JSON 그대로 임베딩하면 안 되나요?많은 분들이 처음엔 이렇게 생각할 수 있습니다:“metadata.json은 구조가 잘 되어 있는데, 그냥 통째로 벡터화하면 되는 거 아냐?”하지만 실제로는 그대로 벡터화하면 RAG 성능이 매우 떨어집니다.🧱 구조적 JSON → 의미 중심 텍스트로 바꿔야 하는 이유 문제 설명 ⚠️ 벡터가 정보의 핵심을 놓침“field-id”, “source-id” 같은 키워드가 의미를 흐림⚠️ LLM이 이해하기 어려움LLM은 자연어 문맥에 ..

728x90