LlamaIndex(구 GPT Index)는 문서에서 정보를 효율적으로 검색하고 활용할 수 있도록 하는 프레임워크이다. 특히 대형 언어 모델(LLM)과 결합하여 문서 기반 질의응답(Q&A) 시스템을 구축하는 데 유용하다.
1. LlamaIndex의 역할
일반적인 LLM은 단순히 입력된 텍스트에 대해 응답을 생성하지만, LlamaIndex는 문서를 인덱싱하고 검색하여 보다 정확한 답변을 제공할 수 있도록 한다.
예제: LLM vs. LlamaIndex
방식 | 설명 |
LLM만 사용 | 모델이 사전 학습된 데이터만 기반으로 응답 생성 |
LlamaIndex 활용 | 모델이 외부 문서(논문, PDF, 웹 데이터)를 검색하고 응답 생성 |
즉, LlamaIndex는 LLM이 실제 데이터를 검색하여 더 정확한 답변을 제공하도록 도와주는 도구라고 보면 된다.
2. LlamaIndex의 주요 기능
1) 데이터 로딩 (Document Loaders)
• PDF, TXT, 웹사이트, 데이터베이스 등 다양한 소스에서 문서를 불러올 수 있다.
예제 코드
from llama_index.core import SimpleDirectoryReader
reader = SimpleDirectoryReader("data/")
documents = reader.load_data()
2) 문서 인덱싱 (Indexing)
• 문서를 작은 조각(Chunk)으로 나누고, 인덱스를 생성한다.
예제 코드
from llama_index.core import VectorStoreIndex
index = VectorStoreIndex.from_documents(documents)
3) 질의응답 (Querying)
• 인덱스를 기반으로 질문을 하면, 관련 정보를 검색하여 답변을 생성한다.
예제 코드
query_engine = index.as_query_engine()
response = query_engine.query("이 문서에서 중요한 내용은?")
print(response)
4) LangChain과 결합 가능
• LlamaIndex는 LangChain과 함께 사용할 수 있어, 보다 강력한 LLM 응용 프로그램을 만들 수 있다.
[AI] LangChain(랭체인)이란?
LangChain은 대규모 언어 모델(LLM) 기반 애플리케이션을 쉽게 개발할 수 있도록 돕는 오픈소스 프레임워크이다. 주로 OpenAI, Hugging Face, Cohere 등의 LLM API를 활용하여 문서 처리, 질문 응답, 체인형 워
jyhan0625.tistory.com
from langchain.chains import RetrievalQA
from langchain.llms import OpenAI
qa = RetrievalQA.from_chain_type(llm=OpenAI(), retriever=index.as_retriever())
result = qa.run("이 문서에서 핵심 내용이 뭐야?")
print(result)
3. LlamaIndex 사용 시 이점
✅ 외부 데이터 활용 가능
• LLM이 학습하지 않은 최신 문서나 사적 데이터를 활용할 수 있다.
✅ 빠른 검색 속도
• 문서를 인덱싱하여 질의응답 속도를 향상시킨다.
✅ LangChain과 호환 가능
• LangChain을 사용하여 더 강력한 AI 응용 프로그램을 만들 수 있다.
4. 마무리
LlamaIndex는 문서를 구조화하고 검색할 수 있도록 도와주는 LLM 보조 도구로, 외부 데이터를 활용한 강력한 AI 애플리케이션을 구축할 수 있도록 한다. LangChain과 함께 활용하면 더욱 강력한 검색 기반 AI 시스템을 만들 수 있다.
'AI' 카테고리의 다른 글
[AI] LangChain(랭체인)이란? (0) | 2025.02.18 |
---|---|
AI 공부와 프로덕션을 위한 최적의 플랫폼 선택 (1) | 2025.02.15 |
DBSCAN에서 fit vs fit_predict (0) | 2024.11.21 |
머신러닝 Workflow와 Pipeline의 차이 (0) | 2024.11.19 |
RandomForest에서 ScandardScaler는 의미가 크게 없다. (0) | 2024.11.17 |