Computer Science/인공지능,딥러닝

Naive RAG, 라마인덱스 간단 구성

Lv.Forest 2025. 4. 28. 14:32

1. from llama_index.core.settings import Settings



Settings는 RAG 시스템을 돌리기 위한 기본 도구상자 세트

(글 쪼개기, AI모델 연결하기, 글자수 조절하기, 에러관리까지 다 설정할 수 있어!)

 

from llama_index.core.settings import Settings 

아래와 같이 글로벌한 설정이 가능하다.

Settings.

# RAG 파이프라인 글로벌 설정
Settings.embed_model = OpenAIEmbedding(
    model="text-embedding-3-small"
)

Settings.llm=OpenAI(model='gpt-3.5-turbo',temperature=0)

Settings 안에 있는 속성들의 역할 정리

항목 역할

chunk_size 텍스트를 "몇 글자 단위"로 쪼갤지 정하는 설정 (예: 긴 글을 500자씩 잘라서 처리)
context_window 모델이 한 번에 읽고 이해할 수 있는 "최대 길이"(너무 길면 잘라야 한다)
embed_model 문장을 숫자 벡터로 바꿔주는 '임베딩 모델'을 지정 (검색이나 유사도 계산용)
global_handler 전체 프로그램에서 에러나 특별한 상황을 다루는 "관리자" 역할(거의 자동 설정)
llm 실제로 텍스트를 생성하거나 답변하는 "AI 모델" 자체를 뜻(ex. gpt-3.5-turbo)
node_parser 글을 쪼개서 "작은 조각"으로 만드는 방법(예: 문단별로 나누기)
num_output LLM이 한 번에 출력할 수 있는 "최대 글자 수" (짧게 vs 길게 답변 설정)
prompt_helper 프롬프트(명령어)를 쓸 때 도와주는 도구(ex. 문장 형식을 예쁘게 맞춰줌)
pydantic_program_mode 코드 검사나 데이터 검사를 편하게 해주는 모드 설정 (프로그램 안정성 강화)
text_splitter 긴 문장을 적당히 "끊어주는 도구"를 고름. (예: 문장 끝에서 자르기)
tokenizer 글자를 AI가 이해할 수 있는 "토큰" 단위로 바꿔주는 도구 (ex. 'hello' → [15496])
transformations 텍스트를 변형하거나 전처리하는 방법들을 모아둠 (ex. 소문자 변환, 특수문자 삭제)

굉장히 다양한 설정들을 전역적으로 할 수 있어 상당히 편리하다.


다음에 더 깊게 들어가보고 싶으면,
예를 들면 embed_model이나 tokenizer 안에서 또 어떤 세부 옵션들이 있는지도 들어갈 수 있다.