AI(30)
-
검색 증강 생성(RAG) - RAG의 한계 (3)
1. 기본 RAG의 문제 및 한계결론은 RAG의 중요한 핵심은 LLM이 아니라, Retrieval (검색)이라는 것이다. 2. 해결 방안 그전에 사용할 기능들을 모두 함수로 만들어 줄 것이다.# pdf -> chunks 반환 함수def create_chunks_from_pdf(pdf_path, chunk_size=500, chunk_overlap=50): loader = PyPDFLoader(pdf_path) splitter = RecursiveCharacterTextSplitter(chunk_size=chunk_size, chunk_overlap=chunk_overlap) chunks = splitter.split_documents(loader.load()) # 공백 제거 c..
2026.06.21 -
검색 증강 생성(RAG) - PDF RAG 학습 앱 (2)
이전 시간에 배운 RAG 기본 개념을 이용해 PDF RAG 분석 애플리케이션을 만들어보자. 이번엔 gradio 프레임워크를 이용해서 Python에서만 구성해볼 것이다. 먼저 gradio로 화면단만 구성한다. 사용된 코드는 아래와 같다.import gradio as gr# 화면 구성with gr.Blocks() as app: gr.Markdown("# PDF RAG 학습 앱") with gr.Tabs(): with gr.Tab("1단계 - PDF & Chunk 확인"): # 파일 업로드 컴포넌트 pdf_input = gr.File(label="PDF 업로드", file_types=[".pdf"]) btn1 = gr.Butto..
2026.06.21 -
검색 증강 생성(RAG) - 개념 (1)
1. RAG 올라마(Ollama)에서 임베딩 개념을 이야기하면서 RAG 개념이 시작되었다. 임베딩 모델을 통해 어떤 input을 고차원의 숫자 리스트로 바꾸어줬고, 이 임베딩된 숫자를 통해 RAG라는 것을 할 수 있다고 공부했었다. 여기서 RAG는 Retrieval Augmented Generation의 약자로써, 검색 증강 생성을 의미한다. 생성형 AI가 임베딩한 외부 문서를 검색한 뒤 그 내용을 기반으로 답변한다. 1) 문서 처리 : DocumentLoader 대표적으로, PyPDFLoader, JSONLoader, TextLoader, WebBaseLoader 등이 있다. 1. PyPDFLoaderfrom langchain_community.document_loaders import PyPDFLoa..
2026.06.20 -
랭체인(LangChain) - 심화 내용 (3)
1. RunnableSequence 파이프라인 문법에서 자세히 보면, RunnableSequence라고 하는 것을 내부적으로 생성한다. 그 중에는 다음과 같은 종류가 있다.RunnablePassthrough : 입력을 통과시켜 다른 키와 병합RunnableLambda : 체인을 파이썬 함수와 연동RunnableParallel : 여러 체인을 동시에 실행하고 결과를 dict 구조로 병합.assign() : 체인 중간에 새 키를 추가하는 메소드1) RunnableLambda chain은 RunnableSequence를 생성하기 때문에 일반 파이썬 함수는 바로 연결 불가하다. 이럴 때 일반 함수를 감싸는 용도로 사용한다.from langchain_core.runnables import RunnableLambd..
2026.06.20 -
랭체인(LangChain) - 요리 전문가 챗봇 실습 (2)
다음 조건으로 요리 전문가 챗봇 앱을 제작해보자.일단 UI 먼저 구성해보자. 다음과 같이 구성한다. src/app/food/page.tsximport ChatBotDiv from "@/components/food/ChatBotDiv";export default function FoodPage() { return ( )} src/app/components/food/ChatBotDiv.tsx"use client";import { useEffect, useState } from "react";import { useRouter } from "next/navigation";import { IoArrowF..
2026.06.20 -
랭체인(LangChain) - 개념 (1)
1. 랭체인 (LangChain)LLM 기반 애플리케이션 개발을 위해서 사용하는 JS/Python 기반 프레임워크Prompt - LLM - OutputParser 흐름을 체인으로 연결하는 파이프라인 도구RAG, Agent, Memory, Tools 등 복잡한 패턴을 표준화된 인터페이스로 제공Ollama, OpenAI, HuggingFace, Watsonx 등 LLM 백엔드를 동일한 코드로 교체 1) 구성요소langchain-core : 프롬프트, 템플릿, 아웃풋 파서 등 랭체인의 기본적인 추상화와 인터페이스 제공LCEL : 여러 단계를 거쳐 처리되는 작업 흐름(체인)을 코드 몇줄로 간단하고 직관적으로 만드는 문법LangGraph : 복잡한 워크플로우와 에이전트 시스템을 구축하는 그래프 기반 프레임워크La..
2026.06.06