inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

3.3 LangChain 없이 구성하는 RAG의 불편함

토큰별로 문서를 쪼개는 이유

86

개발 까마귀

작성한 질문수 23

0

안녕하세요.

토큰별로 문서를 쪼개는 이유가 아래가 맞을까요?

  1. 유사도 검색

    1. 18만글자를 안쪼개고 벡터 데이터베이스에 저장하면 유사도 검색이 안됨

  2. GPT4-0 컨텍스트 토큰 한계

    1. 18만글자를 안쪼개고 넣는다 한들 유사도 검색 후 GPT가 그 결과값을 보고 답변을 줘야하는데 결과값이 18만글자니깐 답변 조차 못함

vector-database llm langchain rag openai-api

답변 2

0

제이쓴

안녕하세요! 좋은 질문 감사합니다.

정확하게 이해하셨습니다! 말씀하신 것처럼, 유사도 검색에서의 효율 향상과 LLM의 토큰 제한으로 인해 RAG를 구현할 때 문서를 토큰별로 쪼개서 저장한다고 보시면 됩니다.

0

개발 까마귀

이해한게 맞나 싶었는데 맞았군요! 감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 내향적인 개발자 IDev님.

질문 주신 “문서를 토큰별로 쪼개는 이유”에 대해 설명드리겠습니다.

  1. 유사도 검색의 효율성:

    • 문서가 18만 글자와 같은 매우 큰 단위라면, 벡터 데이터베이스에 저장할 때 검색 효율성이 떨어질 수 있습니다. 벡터 데이터베이스는 일반적으로 더 작은 단위의 정보를 저장하고 검색할 때 성능이 좋습니다. 따라서, 문서를 적절한 크기로 분할하여 저장하면 유사도 기반 검색을 보다 효율적으로 수행할 수 있습니다.
  2. GPT 컨텍스트 토큰 한계:

    • GPT-4.0 등 대형 언어 모델은 컨텍스트 내에 처리할 수 있는 토큰 수에 한계가 있습니다. 대형 문서 전체를 넣어버리면 모델이 이를 한 번에 처리할 수 없습니다. 결과적으로, 문서를 작은 토큰 단위로 나누는 것은 모델이 한 번에 처리할 수 있는 범위 내로 데이터를 제한해주어야 하는 필요성 때문입니다. 이렇게 하면 모델은 검색된 문서 조각들을 통해서도 적절하게 응답할 수 있습니다.

문서를 쪼개는 과정을 통해 모델과 데이터베이스의 성능을 최적화하고, 검색 결과의 정확성과 효율성을 높일 수 있습니다.

이와 관련된 더 자세한 설명을 원하신다면, 아래의 링크를 통해 비슷한 주제의 답변을 확인하실 수도 있습니다:
- split시 encode/decode관련 질문

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

온톨로지 활용

0

44

2

ollama설치해서 llama로 돌려도 되나요?

0

46

2

소득세법 docx 파일 공유 요청건

0

95

1

EXAONE 모델 불러오기 안되는 문제

0

94

2

[5.1 강의] LLM Evaluator에 Upstage를 사용하는 방법 + 변경된 Langsmith Docs를 참고하여 구현하는 방법 공유

0

125

2

강의 9에 QA관련된 import가 되지 않네요

0

125

2

🚨 python3.14 를 쓰고 계시면 chroma 에서 ConfigError 가 발생합니다.

1

224

1

강의와 책 관련 질문

0

96

1

문서 전처리 고민

0

121

1

RAG 배포 질문드립니다

0

106

1

강의 내용과는 별개로 궁금한 점이 있습니다

0

98

2

폐쇄망 챗봇 모델

0

101

1

AI agent 쿠폰

0

99

2

저는 왜 그대로 했는데 답변이 틀리게 나오는지 모르겠네요

0

109

2

langchain howto/sequence는 지금 doc 공식 사이트 어디서 확인할 수 있나요?

1

100

1

new_question에 대한 답 출력

0

80

2

랭체인 라이브러리

0

159

2

[LangGraph를 활용한 AI Agent 개발] 쿠폰 유효기간

0

111

1

postgresql의 pgvector 벡터는 어떤가요?

0

383

2

doc관련

0

144

2

load_dotenv() 실행 False

0

103

1

RAG 답변 개선을 위한 정답지 활용 구조 검토 요청

0

125

2

3.2 from langchain.chains ~ 에서 모듈을 찾지 못할 때.

2

429

2

강의 완료 오류

0

94

1