목록분류 전체보기 (132)
토니의 연습장
(출처)추가 참고 자료 : 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)을 활용하도록 합니다.- 주요 특징전체 대화 내역 보존: 이전에 오간 대화를 수정 없이 전부 보존합니다.문장 단위 또는 메시지 단위 저장: 메시지를 쌓아두는 기본적인 형태라서 구현이 간단합니다.메모..
1. Data (preparing and loading) 2. Build model3. Train model PyTorch training loop PyTorch testing loop 4. Inference# 1. Set the model in evaluation modemodel_0.eval()# 2. Setup the inference mode context managerwith torch.inference_mode(): # 3. Make sure the calculations are done with the model and data on the same device # in our case, we haven't setup device-agnostic code yet so our data a..
model 로 train 및 test 한 후에 train/test loss value 를 출력하고자 할 때, PyTorch 텐서(requires_grad=True) 상태에서 바로 NumPy 배열로 변환하려고 하기 때문에 발생합니다. Matplotlib에서 데이터를 플롯할 때는 numpy(), item(), 또는 해당 텐서를 분리(detach())해서 넘겨주어야 합니다. 이렇게 하면 텐서 자체를 유지하면서도 NumPy로 변환할 수 있습니다.loss_values.append(loss.detach().numpy())# 혹은 CPU로 먼저 보낼 경우loss_values.append(loss.detach().cpu().numpy()) 그런데 가장 출력 등의 용도로 사용하기 위해 간단하고 편리한 방법은, 스칼라 텐..
아래 예시 코드는 n8n에서 보여지는 플로우(트리거 → 유튜브 자막 추출 → 요약 → 정보 추출 → AI Agent → 데이터 머지 → 디스코드 발송/노션 저장 → …)를 파이썬에서 유사한 기능으로 구성했을 때의 예시입니다. 실제 서비스에 사용하기 위해서는 각종 API 키, 보안, 에러 처리, 예외 상황 대응 등이 추가로 필요하며, 경우에 따라 더 세분화된 로직이 요구될 수 있습니다. 또한 설명을 돕기 위한 간소화된 예시이므로 필요에 맞게 수정하여 사용하세요.1. Trigger (예시: 스크립트 시작 또는 Flask 엔드포인트)n8n의 “When clicking ‘Test workflow’”처럼, 파이썬 스크립트가 시작되는 시점을 트리거로 봅니다. 간단히 “main.py”로 시작하는 경우 예시는 아래와 ..
RAG(Retrieval-Augmented Generation) 기법 중에서 HyDE와 Re-ranking은 모두 검색 단계를 보완하여 LLM(Large Language Model)의 답변 품질을 높이기 위한 방법입니다. 두 방법 모두 “검색된 문서(또는 텍스트 조각)을 더 잘 골라내거나 만들어내서 LLM이 참고하도록 한다”는 공통된 목표를 가지고 있지만, 접근 방식은 다릅니다.1. HyDE (Hypothetical Document Embeddings)핵심 아이디어질문(또는 쿼리)에 대해 가상의 문서(가설적 문서, hypothetical document)를 LLM이 생성한 뒤, 이 문서를 ‘쿼리’처럼 사용하여 실제 문서를 다시 검색(재검색)하거나 필터링하는 방법입니다.즉, 처음에 주어진 사용자 질문만 가..
1. base.pyfrom abc import ABC, abstractmethodclass BaseChain(ABC): """ 체인의 기본 클래스입니다. 모든 체인 클래스는 이 클래스를 상속받아야 합니다. Attributes: model (str): 사용할 LLM 모델명 temperature (float): 모델의 temperature 값 """ def __init__(self, model: str = "exaone", temperature: float = 0, **kwargs): self.model = model self.temperature = temperature self.kwargs = kwargs ..
If you encounter an error with Easy GetNode/SetNode when running ComfyUI, follow these steps to resolve it:(Simply installing KJNodes from Custom Node Installation may not resolve the issue.) Modify the config.ini file to set security_level to weak. In the "Install via Git URL" section, enter https://github.com/yolain/ComfyUI-Easy-Use.git and proceed with the installation.
