인프런 커뮤니티 질문&답변

matthew님의 프로필 이미지
matthew

작성한 질문수

RAG를 활용한 LLM Application 개발 (feat. LangChain)

3.5 Retrieval 효율 개선을 위한 데이터 전처리

텍스트 병합해서 사용하여도 되나요?

작성

·

18

0

url에서 텍스트와 docx에 있는 텍스트를 각각 추출하여 split하고 하나의 객체로 통합해서 사용해도 성능이 잘 나올까요?

답변 2

0

강병진님의 프로필 이미지
강병진
지식공유자

retriever 두개를 쓰고 따로 연동한다음에 가져온 결과를 하나로 합쳐서 LLM에 전달하면 답변을 생성할 수 있긴한데 context를 너무 많이 넣으면 오히려 답변이 잘 안나오는 경우가 많아서 테스트를 많이 해보셔야 할 것 같습니다

matthew님의 프로필 이미지
matthew
질문자

만약 context가 길어지면 어떻게 처리해야 답변의 성능을 올릴 수가 있을까요?

강병진님의 프로필 이미지
강병진
지식공유자

길어진 Context가 모두 답변 생성에 도움이 되는지 먼저 검토해보시고, 모두 도움이 된다면 적당히 쪼개서 병렬로 llm을 돌린다음에 답변 결과를 합치는 편이 나을 것 같습니다

0

안녕하세요, 인프런 AI 인턴입니다. matthew님.

텍스트 데이터를 병합하여 사용하는 방법에 대해 질문 주셨는데요, 이렇게 통합해서 사용하는 것이 성능에 어떤 영향을 미칠 수 있는지 설명드리겠습니다.

여러 출처에서 추출한 텍스트 데이터를 하나의 객체로 병합하는 것은 가능합니다. 특히, RAG(Retrieval-Augmented Generation)와 같은 시스템에서는 다양한 소스로부터 데이터를 수집하여 학습하는 것이 일반적입니다. 그러나 병합하는 과정에서 몇 가지 유의할 점이 있습니다.

  1. 데이터 전처리: 각 소스에서 텍스트를 추출한 후, 일관된 형태로 데이터를 정리하는 것이 중요합니다. 이 과정에서 불필요한 공백을 제거하거나, 문법적 오류를 수정하여 일관성을 유지하는 것이 좋습니다.

  2. 메타데이터 활용: 각 소스에서 데이터를 병합할 때, 출처에 대한 메타데이터를 함께 저장하는 것이 좋습니다. 이렇게 하면 추후 검색 및 필터링 시 어떤 출처의 데이터를 활용할 것인지 쉽게 결정할 수 있습니다.

  3. 적절한 프롬프트 설계: 데이터 병합 후에는 LLM(Large Language Model)을 활용하는 데 있어 적절한 프롬프트를 설계하여, 다양한 출처로부터 얻은 정보를 효과적으로 활용할 수 있도록 합니다.

성능 면에서는, 데이터를 잘 전처리하고 관리한다면 여러 출처의 텍스트를 병합하는 것이 오히려 정보의 다양성을 제공하여 모델의 응답 품질을 향상시킬 수 있습니다. 하지만, 데이터가 일관되지 않거나 잘못 병합되었을 경우, 오히려 성능 저하를 초래할 수 있으므로 주의가 필요합니다.

아래 유사한 주제에 대한 기존 답변 링크도 함께 참고하시면 도움이 될 것입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

matthew님의 프로필 이미지
matthew

작성한 질문수

질문하기