# Part 7.5: LangChain으로 LLM 애플리케이션 개발 맛보기 용어집 ## 핵심 용어 | 용어 (Term) | 설명 (Description) | | --- | --- | | **거대 언어 모델 (Large Language Model, LLM)** | 방대한 양의 텍스트 데이터로 사전 훈련된 매우 큰 규모의 딥러닝 모델입니다. 인간과 유사한 수준으로 텍스트를 이해하고 생성할 수 있으며, 질문 답변, 번역, 요약, 코드 생성 등 다양한 자연어 처리 작업을 수행할 수 있습니다. (예: GPT-3, BERT) | | **LangChain** | LLM을 활용한 애플리케이션 개발을 용이하게 하는 오픈소스 프레임워크입니다. LLM을 외부 데이터 소스(문서, DB 등)나 다른 도구들과 쉽게 연동할 수 있도록 다양한 모듈(체인, 에이전트, 메모리 등)과 인터페이스를 제공합니다. RAG 시스템 구축에 널리 사용됩니다. | | **검색 증강 생성 (Retrieval-Augmented Generation, RAG)** | LLM이 최신 정보나 특정 도메인 지식 없이 답변을 생성할 때 발생할 수 있는 환각(Hallucination) 현상을 줄이고, 답변의 신뢰성과 정확성을 높이기 위한 기술입니다. 사용자의 질문에 대해 외부 데이터 소스(벡터 저장소 등)에서 관련 정보를 검색한 후, 이 정보를 LLM에게 참고 자료로 제공하여 답변을 생성하도록 하는 방식입니다. ("오픈북 시험"에 비유) | | **환각 (Hallucination)** | LLM이 사실이 아니거나 맥락에 맞지 않는 그럴듯한 거짓 정보를 생성하는 현상입니다. 모델이 훈련 데이터에 없는 내용을 추론하거나, 잘못된 패턴을 학습했을 때 발생할 수 있습니다. RAG는 이러한 환각을 줄이는 데 효과적입니다. | | **임베딩 (Embedding)** | 텍스트(단어, 문장, 문서)를 저차원의 밀집 벡터(dense vector)로 변환하는 과정 또는 그 결과 벡터를 의미합니다. 이 벡터는 단어나 문장의 의미론적 정보를 담고 있어, 벡터 공간에서 의미적으로 유사한 단어나 문장들이 가깝게 위치하게 됩니다. 텍스트 간 유사도 계산, 검색, 분류 등 다양한 NLP 작업에 활용됩니다. | | **벡터 저장소 (Vector Store / Vector Database)** | 텍스트나 이미지 등에서 추출한 임베딩 벡터를 효율적으로 저장하고 검색할 수 있도록 설계된 특수한 데이터베이스입니다. 의미 기반 검색(Semantic Search), 즉 사용자의 질의 벡터와 가장 유사한 벡터들을 빠르게 찾아내는 기능을 제공합니다. (예: FAISS, Chroma, Pinecone, Weaviate) | | **FAISS (Facebook AI Similarity Search)** | Facebook AI Research에서 개발한 고밀도 벡터 유사성 검색 및 클러스터링을 위한 라이브러리입니다. 대량의 벡터 데이터를 메모리에 저장하고 매우 빠르게 유사 벡터를 검색할 수 있어 RAG 시스템의 인덱싱 및 검색 단계에서 자주 사용됩니다. 주로 인메모리(in-memory) 방식으로 작동하여 속도가 빠릅니다. | | **Chroma (ChromaDB)** | LLM 애플리케이션을 위해 설계된 오픈소스 임베딩 데이터베이스입니다. 사용하기 쉽고, Python 네이티브 지원 및 다양한 임베딩 모델과의 통합을 제공하며, 데이터를 디스크에 영구 저장할 수 있습니다. 개발 및 프로토타이핑에 적합합니다. | | **문서 분할 (Chunking / Text Splitting)** | RAG 파이프라인에서 긴 문서를 LLM이 처리하기 적합한 작은 조각(chunk)으로 나누는 과정입니다. 너무 작으면 문맥을 잃고, 너무 크면 관련 없는 정보가 포함되어 LLM의 처리 효율과 정확도를 떨어뜨릴 수 있으므로, 적절한 크기와 중첩(overlap)을 고려하여 분할하는 것이 중요합니다. | --- *이 용어집은 `geumdo_docs/ai lecture/part_7.5_llm_application_development_with_langchain.md` 파일 내용을 기반으로 작성되었습니다.*