목록언어 AI (NLP)/LLM & RAG (24)
토니의 연습장
# db에 없는 문서만 추가 new_chunks = [] for chunk in chunks_with_ids: if chunk.metadata["id"] not in existing_ids: new_chunks.append(chunk) if len(new_chunks): print(f"👉 Adding new documents: {len(new_chunks)}") new_chunk_ids = [chunk.metadata["id"] for chunk in new_chunks] db.add_documents(new_chunks, ids=new_chunk_ids) db.persist() 1. 동작 ..

1. Document Load 2. Document Split 3. Embedding Function 선언 ex1) ex2) 4. vectorDB 생성 / 문서 추가 참고) 경로:페이지:청크 5. DB 업데이트 6. RAG serve : Local / via Cloudex) Local : ollama Cloud : HuggingFace 7. RAG test (간이평가)Unit Test 활용 (PyTest) 8. RAG evalution (세부평가) 참고) https://youtu.be/2TJxpyO3ei4
메모리 요구 사항ex) llama27B(70억 파라미터) 모델은 일반적으로 최소 8GB의 RAM이 필요합니다.13B(130억 파라미터) 모델은 일반적으로 최소 16GB의 RAM이 필요합니다.70B(700억 파라미터) 모델은 일반적으로 최소 64GB의 RAM이 필요합니다.만약 더 높은 양자화(quantization) 수준에서 문제가 발생한다면, q4 모델을 사용하거나 많은 메모리를 사용하는 다른 프로그램을 종료해보세요.모델 변형(Variants)Chat 모델은 챗/대화(use case)에 맞춰 파인튜닝된 모델입니다. Ollama에서 기본값으로 사용되며, 태그 탭에서 -chat이 붙은 모델들이 여기에 해당합니다.예시: ollama run llama2Pre-trained 모델은 챗 파인튜닝이 적용되지 않은 모..
현재 Ollama가 기본적으로 제공하는 모델들 중에서 영어 “임베딩 용도”로 가장 성능이 좋으면서도 RTX 4090(24GB VRAM) 단일 GPU로 실용적으로 구동 가능한 것은 대체로 Llama 2 13B 계열 모델입니다.배경: Ollama와 임베딩Ollama의 모델 구성Ollama는 주로 Llama 2, Code Llama, Falcon, Mistral, Wizard 등 여러 GGML 포맷의 모델을 지원합니다.그러나 “임베딩 전용”으로 특화된 모델(예: Sentence-Transformer류)은 공식 레포지토리에 크게 언급되어 있지 않고, 대체로 생성형 LLM(예: Llama 2) 위주입니다.Ollama는 내부적으로 ollama embed 같은 명령을 통해 LLM에서 임베딩 벡터를 추출할 수 있으나,..

(출처)추가 참고 자료 : pdf로부터 표의 구조를 반영하면서 텍스트를 추출할 수 있는 좋은 방법은 바로 "마크다운" 방식 활용입니다. [RAG] Document Loader 비교 (feat. PDF, Markdown 변환)0. Document Loader (PDF)RAG를 하려면 수 많은 Raw Data들을 파싱해야 합니다.Raw Data들 중에서도 가장 범용적으로 사용되는 파일은 PDF이기 때문에, 이번 글에서는 PDF 파일에서 한글을 추출해내는 것이 중mz-moonzoo.tistory.com
아래는 LangChain을 비롯해 LLM 활용 시 자주 등장하는 Memory(메모리) 기법을 예시를 순서대로 정리한 것입니다. 각각이 보여주는 메모리 방식과 특징에 대해 자세히 설명해 드리겠습니다.1. ConversationBufferMemory- 개념 요약대화형 AI(예: 챗봇)에서 가장 기본적인 형태의 메모리로, 사용자의 모든 발화(질문·응답) 로그를 그대로 "버퍼(buffer)" 형식으로 쌓아나가는 방식입니다.메모리에 저장된 이전 대화를 그대로 사용해, LLM이 답변을 생성할 때 과거 맥락(context)을 활용하도록 합니다.- 주요 특징전체 대화 내역 보존: 이전에 오간 대화를 수정 없이 전부 보존합니다.문장 단위 또는 메시지 단위 저장: 메시지를 쌓아두는 기본적인 형태라서 구현이 간단합니다.메모..
RAG(Retrieval-Augmented Generation) 기법 중에서 HyDE와 Re-ranking은 모두 검색 단계를 보완하여 LLM(Large Language Model)의 답변 품질을 높이기 위한 방법입니다. 두 방법 모두 “검색된 문서(또는 텍스트 조각)을 더 잘 골라내거나 만들어내서 LLM이 참고하도록 한다”는 공통된 목표를 가지고 있지만, 접근 방식은 다릅니다.1. HyDE (Hypothetical Document Embeddings)핵심 아이디어질문(또는 쿼리)에 대해 가상의 문서(가설적 문서, hypothetical document)를 LLM이 생성한 뒤, 이 문서를 ‘쿼리’처럼 사용하여 실제 문서를 다시 검색(재검색)하거나 필터링하는 방법입니다.즉, 처음에 주어진 사용자 질문만 가..