LLM Engineering 19

[정규표현식] 데이터 전처리를 위한 정규표현식

데이터를 파싱하고 정제하는 과정에서 정규표현식을 통해 원하는 내용의 값들만 추출하고, 변경하는 작업을 할 수 있습니다. 파이썬의 re 모듈을 활용한 정규표현식의 개념과 사용 예제에 대해 간략하게 살펴보겠습니다. 1. 정규표현식의 기초 : 패턴을 만드는 규칙정규표현식은 특정 규칙을 가진 문자열의 집합을 표현하는 데 사용됩니다. 몇 가지 기본 특수 문자(패턴)만 알면 금방 익숙해질 수 있습니다. . (마침표): 줄바꿈 문자(\n)를 제외한 모든 문자와 매치됩니다.\d: 숫자를 의미합니다. [0-9]와 같습니다.\s: 공백 문자(스페이스, 탭, 줄바꿈 등)를 의미합니다.\w: 알파벳, 숫자, 언더스코어(_)를 포함하는 문자입니다. [a-zA-Z0-9_]와 같습니다.* (애스터리스크): 바로 앞의 문자가 0번 ..

[DataFrame] 전처리를 위한 DataFrame 함수들

데이터 전처리과정에서 DataFrame을 많이 다루게 돼서 이참에 기본적이고 핵심적인 함수들을 한번 정리하고 가보도록 하겠습니다. 예제 데이터 준비하기import pandas as pdimport numpy as np# 예제용 샘플 데이터프레임df = pd.DataFrame({ '제품명': ['A-1', 'B-1', 'A-1', 'C-1', 'B-2', 'D-1'], '카테고리': ['가전', '가구', '가전', '가전', '가구', '주방'], '가격': [100, 150, 100, 120, 180, np.nan], '태그': [['신상', '인기'], '할인', ['신상', '인기'], '추천', '할인', np.nan]}, index=['p1', 'p2', 'p3', 'p4'..

RAG Caching (/w Langchain & Langgraph)

LangGraph를 활용한 RAG 시스템의 챗봇을 과제로 진행하던 도중, 팀장님의 조언으로 동일한 질문에 대해 캐싱을 사용해 비용과 시간을 효율적으로 사용하라는 말씀을 들었습니다. 이에 따라 캐싱을 사용해 보다 더 효율적인 RAG 시스템을 구축하고자 하였습니다. 1. 문제상황아래는 사용자의 같은 질문에 대해 소요된 시간과 토큰에 대한 이미지입니다. 보시다시피 같은 질문임에도 똑같은 노드 순환을 반복하며 시간과 토큰이 소모되는 모습입니다. 2. InMemoryCache (/w Langchain)langchain에서 캐싱을 위한 라이브러리를 제공해주어서 사용해보았습니다.from langchain.globals import set_llm_cachefrom langchain_community.cache im..

LLM Engineering/RAG 2025.06.14

[LangGraph] LangGraph 기초 복습

LangGraph의 기본적인 개념에 대해 복습하는 시간을 가져보도록 하겠습니다. 1. LangGraph란?LangGraph는 LLM 기반 워크플로우에 순환 연산 기능을 추가하여 복잡한 AI 애플리케이션의 흐름을 효과적으로 제어할 수 있는 프레임워크입니다. 노드(Node), 엣지(Edge), 상태(State)라는 세 가지 핵심 요소를 통해 RAG 파이프라인과 같은 복잡한 시스템을 유연하게 구성할 수 있습니다. - Node, Edge, State 를 통해 LLM을 활용한 워크플로우에 순환 연산 기능을 추가하여 손쉽게 흐름을 제어- RAG 파이프라인의 세부 단계별 흐름 제어가 가능- Conditional Edge를 통한 조건부 흐름 제어 가능- Human-in-th-loop를 통해 필요시 중간에 개입하여 다음..

[Prompt Engineering] 프롬프트 엔지니어링의 심화 기법들(2)

언어 모델의 성능이 지속적으로 발전함에 따라, 이를 더 효과적으로 활용하기 위한 프롬프트 엔지니어링 기법도 진화하고 있습니다. 기본적인 프롬프트 기법을 넘어, 최근에는 AI의 추론 능력을 극대화하고 더 정확한 답변을 얻기 위한 심화 기법들이 연구되고 있습니다. 이 글에서는 최신 프롬프트 엔지니어링 심화 기법들을 살펴보고, 이를 활용하는 방법에 대해 알아보겠습니다. 1. Automatic Prompt Engineer (APE): 자동화된 프롬프트 최적화1) 개념자동 프롬프트 엔지니어(APE)는 최적의 프롬프트를 자동으로 생성하는 프레임워크인간의 개입 없이 여러 단계의 평가 과정을 통해 최적의 명령어를 생성하고 선택언어 모델 자체를 활용하여 더 나은 프롬프트를 발견하는 메타-프롬프팅 접근법2) 작동 과정: ..

[Prompt Engineering] 프롬프트 엔지니어링의 심화 기법들(1)

대규모 언어 모델(LLM)의 능력이 발전함에 따라, 더 정교하고 효과적인 프롬프트 엔지니어링 기법들이 등장하고 있습니다. 기본적인 Zero-shot, Few-shot, Chain-of-Thought 프롬프팅을 넘어서, 복잡한 문제 해결과 정확도 향상을 위한 고급 프롬프트 기법들을 알아보겠습니다. 1. Generate Knowledge Prompting (GoT): 지식 기반 추론 강화1) 개념언어 모델이 추론 전에 관련 지식을 먼저 생성하도록 하는 방법답변 생성 전 모델이 스스로 관련 정보를 가져오고 활용하는 방식할루시네이션(환각) 현상을 완화하기 위한 효과적인 접근법2) 주요 목적모델의 환각 현상 감소 및 사실 기반 답변 강화추가 지식을 통한 추론 능력 향상오픈 Q-A 테스크 방식을 활용한 자발적 지식..

[Prompt Engineering] 프롬프트 엔지니어링의 기초 기법들

프롬프트 엔지니어링은 대규모 언어 모델(LLM)의 잠재력을 최대한 활용하기 위한 중요한 기술입니다. 적절한 프롬프트 기법을 사용하면 복잡한 문제 해결, 정확한 정보 검색, 창의적인 콘텐츠 생성 등 다양한 작업에서 더 나은 결과를 얻을 수 있습니다. 이 글에서는 프롬프트 엔지니어링의 기본 기법들을 소개하고, 각 기법의 장단점과 활용 사례를 살펴보겠습니다. 1. Zero-shot Prompting: 기본 중의 기본1) 개념언어 모델에게 예제나 시연 없이 직접 작업을 지시하는 방법모델이 사전 학습 과정에서 습득한 지식을 바탕으로 작업을 수행가장 단순하고 직관적인 프롬프트 방식2) 작동 원리LLM은 대량의 텍스트 데이터로 사전 학습되어 있어 다양한 지식을 내포명확한 지시만으로도 기본적인 작업을 수행할 수 있음모..

[Fine-Tuning] Restoring obfuscation LLM 프로젝트 회고

이전 글에서 Unsloth와 엘리스 클라우드 등 기술적인 부분에 대해 설명했다면, 이번에는 DACON 난독화 한글 리뷰 복원 프로젝트를 진행하면서 겪었던 전체적인 경험과 시행착오를 공유하려 합니다. 대회 개요DACON에서 진행된 이 대회는 의도적으로 난독화된 한글 텍스트를 원래 형태로 복원하는 과제로, 오픈 소스 LLM(Large Language Model)을 활용해 해결하는 것이 핵심이었습니다. 처음에는 같은 경진대회에 참여한 사람이 공유해준 Gemma-2-B-it Full Fint-tuning 모델을 사용하였습니다. model_name = "mindw96/Gemma-2-2B-it-DACON-LLM"model = AutoModelForCausalLM.from_pretrained( model_n..

[LLM 평가]LLM 및 RAG 평가 프레임워크 비교 분석

LLM(Large Language Model)과 RAG(Retrieval-Augmented Generation) 시스템의 성능을 평가하는 것은 AI 애플리케이션 개발에서 중요한 과정입니다. 다양한 평가 프레임워크들이 각자 독특한 특징과 접근 방식을 제공합니다. 이 글에서는 주요 평가 프레임워크들을 비교하고 각각의 장단점을 살펴보겠습니다. 1. LLM-as-a-judge1) 개념LLM이 평가자 역할을 수행하여 다른 모델이나 시스템의 성능을 평가인간 평가자 대신 LLM을 활용하여 대규모 평가 가능프롬프트 엔지니어링을 통해 평가 기준과 방법 설정2) 장점인간 평가보다 비용 효율적일관된 평가 기준 적용 가능대규모 평가에 적합3) 한계LLM 자체의 편향이 평가에 영향을 줄 수 있음특정 언어나 도메인에 따라 성능 ..

[RAG Evaluation] RAG 평가의 기초

RAG(Retrieval Augmented Generation) 시스템은 정보 검색(Retrieval)과 텍스트 생성(Generation)이라는 두 가지 핵심 요소로 구성됩니다. 이 시스템의 성능을 효과적으로 평가하기 위해서는 각 요소를 독립적으로, 그리고 전체 시스템을 통합적으로 평가하는 것이 중요합니다. 이 글에서는 RAG 시스템 평가에 사용되는 다양한 방법론과 메트릭에 대해 살펴보겠습니다. 1. RAG 평가의 기본 개념RAG 시스템은 일반적으로 Retrieval(검색)과 Generation(생성) 부분으로 나누어 평가합니다. 하지만 Retrieval의 성능이 Generation의 성능에 직접적인 영향을 미치기 때문에, 두 요소를 완벽하게 분리해서 평가하는 것은 불가능합니다. 이러한 복잡성을 고려하여..

반응형