LLM 36

LLM을 활용한 카카오톡 대화 요약: Anthropic으로 평가용 테스트 케이스 자동 생성하기 [5]

웹 서비스나 AI 모델 검증을 위해 대화형 테스트 케이스를 대량 확보하는 작업은 비용과 시간이 많이 소요됩니다. 이번 포스트에서는 Python 스크립트와 Anthropic Claude API를 활용해2명/3명 대화 테스트 케이스를 자동으로 추출3000자 이상 대화로 확장최종적으로 eval_data.pickle 에 병합하고,간단한 get_eval_data 함수로 불러오는전 과정을 단계별로 살펴보겠습니다.1. 필요한 패키지glob : 디렉터리 내 파일 목록을 와일드카드 패턴으로 검색json : JSON 파일 입출력pickle : Python 객체 직렬화/역직렬화anthropic : Claude 모델 호출용 SDKpython-dotenv : .env 파일에서 환경변수 로드2. 테스트 케이스 추출 스크립트imp..

LLM을 활용한 카카오톡 대화 요약: 효과적인 데이터 수집 방법 [3]

데이터 수집의 중요성AI 모델의 성능은 데이터의 품질과 양에 크게 좌우됩니다. 특히, 카카오톡 대화 요약과 같은 자연어처리(NLP) 모델을 개발할 때는 다양한 유형의 데이터를 확보하고 평가해야 합니다. 이번 글에서는 프로젝트의 성능 향상을 위해 데이터를 어떻게 수집하고 활용할 것인지를 다뤄보겠습니다. 📊왜 데이터 수집이 필요할까?1️⃣ 테스트 데이터 확보AI 서비스를 개발하기 전에 다양한 시나리오에서 모델을 테스트해야 합니다.실제 카카오톡 대화를 활용할 수 없는 경우, 유사한 데이터로 모델 성능을 검증할 필요가 있습니다.2️⃣ 모델 평가 데이터 구축평가 데이터가 많을수록 모델의 성능을 객관적이고 일반적인 기준으로 측정할 수 있습니다.편향되지 않은 평가 데이터를 확보해야 실제 환경에서 모델이 잘 동작하는..

LLM을 활용한 카카오톡 요약: 개발 환경 설정 가이드 [2]

프로젝트 환경 구축하기이전 글에서는 카카오톡 대화 요약 프로젝트의 개요와 주요 목표를 소개했습니다. 이번 글에서는 프로젝트 개발을 위한 폴더 구조 설정, 가상환경 구축, 필수 패키지 설치 과정을 정리하겠습니다. 🛠️개발 환경을 올바르게 설정하면 프로젝트의 실행 및 관리가 수월해지고, 재현성(reproducibility)을 보장할 수 있습니다. 따라서, 차근차근 따라 하면서 세팅을 완료해보세요! 😊1️⃣ 폴더 설정먼저, 데이터를 저장할 폴더를 생성해야 합니다. 프로젝트 내에서 대화 데이터, 모델 결과물, 로그 파일 등을 효율적으로 관리하기 위해 res 폴더를 생성합니다.📂 폴더 구조 예시:kakao-summary-project/│── res/ # 데이터 저장 폴더│── kaka..

LLM을 활용한 카카오톡 요약: AI 기반 자동 요약 기술 개발 [1]

프로젝트 개요최근 LLM(대형 언어 모델, Large Language Model)을 활용한 자동화 기술이 빠르게 발전하면서, 일상에서 활용할 수 있는 다양한 AI 서비스들이 등장하고 있습니다. 특히 대화 요약 기술은 비즈니스 회의록 작성, 고객 상담 내용 정리, 개인 메신저 기록 정리 등 다양한 분야에서 활용될 수 있습니다. 이에 착안하여, 우리는 카카오톡 대화 요약 프로젝트를 진행하게 되었습니다.이 프로젝트에서는 LLM을 활용하여 실시간 대화 내용을 효과적으로 요약하는 기술을 개발하고, 성능과 비용을 고려하여 최적의 모델을 선정하는 과정을 거쳤습니다. 또한, 데이터 수집과 모델 개선, 데모 구축까지의 엔드투엔드(A to Z) 개발 프로세스를 경험할 수 있었습니다.왜 카카오톡 대화 요약을 선택했을까?1...

사내 업무 AI 에이전트 개발 소개

프로젝트 개요최근 AI 기술이 발전하면서 개인 업무를 효율적으로 관리할 수 있는 AI 에이전트에 대한 관심이 높아지고 있습니다. 이번 프로젝트에서는 사내 업무를 지원하는 AI 비서를 개발하여 일정 관리, 회사 일정 확인, 사내 내규 질의응답 등을 자동화하고자 합니다. 이를 통해 AI 서비스 개발과 모델링 파이프라인을 복습하는 동시에, Function Call 및 RAG 기술을 활용하여 보다 강력한 AI 에이전트를 구축하는 것이 목표입니다.프로젝트를 진행하는 이유일반적인 LLM API는 대화형 AI로 활용하기에 적합하지만, 실제 업무를 수행하는 데에는 몇 가지 한계가 있습니다:외부 지식 부족: LLM은 사내 데이터나 일정과 같은 외부 지식을 기본적으로 알지 못함.실제 액션 수행 불가: 일정 예약, 사내 문..

Streamlit과 Langchain을 활용한 실시간 온프레미스 투자 어시스턴트 구현하기 [19]

“투자 어시스턴트” 웹 애플리케이션을 Streamlit과 Hugging Face Transformers, Langchain 등의 라이브러리를 사용해 구축하는 과정을 보여줍니다. 실시간 질의에 대해 온프레미스(로컬) 환경에서 답변을 생성할 수 있도록 합니다.import streamlit as stimport transformersimport torch# Langchain 및 커뮤니티 모듈(베타)에서 BM25, FAISS, SentenceTransformer를 불러옵니다.from langchain_community.retrievers import BM25Retrieverfrom langchain_community.embeddings.sentence_transformer import SentenceTransf..

HuggingFace를 활용한 42dot_LLM-PLM-1.3B로 한국어 문장 생성 [18]

이 글에서는 Hugging Face의 transformers 라이브러리를 사용하여 42dot의 한국어 언어 모델인 42dot_LLM-PLM-1.3B를 활용해 문장을 생성하는 방법을 소개합니다. 간단한 Python 코드를 통해 삼성전자와 관련된 정보를 생성하는 과정을 설명하며, 모델의 사용법과 주요 파라미터 설정을 다룹니다.# Hugging Face Transformers와 PyTorch 라이브러리 가져오기import transformersimport torch# 사용할 모델 ID 설정 (Hugging Face Model Hub에 등록된 모델)model_id = "42dot/42dot_LLM-PLM-1.3B"# 텍스트 생성 파이프라인 구성# - "text-generation": 텍스트 생성 태스크 지정# ..

HuggingFace를 활용한 한국어 sLLM 모델 사용법 [17]

이 블로그에서는 Hugging Face 라이브러리를 활용해 한국어 기반의 sLLM 모델인 MLP-KTLim/llama-3-Korean-Bllossom-8B를 사용하는 방법을 소개합니다. Hugging Face의 transformers 라이브러리를 통해 손쉽게 텍스트 생성 파이프라인을 구축할 수 있으며, 간단한 프롬프트를 입력하여 모델의 성능을 확인할 수 있습니다.# Hugging Face Transformers와 PyTorch 라이브러리 가져오기import transformersimport torch# 사용할 모델의 ID 설정 (Hugging Face 모델 허브에서 가져옴)model_id = "MLP-KTLim/llama-3-Korean-Bllossom-8B"# 텍스트 생성 파이프라인 구성# - "tex..

Sentence Transformers를 활용한 문장 임베딩 및 FAISS 검색 시스템 구축 [16]

SBERT(Sentence-BERT)는 문장 수준의 임베딩을 생성하여 자연어 처리(NLP)에서 문장 간 유사도를 효율적으로 계산할 수 있도록 도와주는 강력한 도구입니다. 이번 블로그에서는 SBERT 모델 중 distiluse-base-multilingual-cased-v1을 활용하여 문장을 벡터화하고, FAISS(Vector Search Library)를 사용하여 효율적으로 유사 문장을 검색하는 시스템을 구축하는 방법을 알아보겠습니다.SBERT와 FAISS를 활용한 주요 작업 흐름문서 리스트 준비: 검색 대상이 되는 문서를 리스트 형태로 준비합니다.SBERT로 문장 임베딩 생성: 사전 학습된 다국어 SBERT 모델을 사용해 각 문장을 벡터화합니다.FAISS로 벡터 저장소 구성: 생성된 벡터를 FAISS ..

Sentence Transformers로 한국어 모델 사용해보기 [15]

Sentence Transformers란?Sentence Transformers(SBert)는 문장과 문서를 고차원의 임베딩 벡터로 변환하여 NLP 작업에 활용할 수 있는 강력한 라이브러리입니다. 특히, 다국어를 지원하는 모델을 제공하므로 한국어 NLP 태스크에서도 유용하게 사용할 수 있습니다.SBert 공식 웹사이트에서는 다양한 Pretrained Models를 제공합니다. 이번 글에서는 한국어 및 다국어 모델을 사용하는 방법을 다룹니다.다국어 모델: distiluse-base-multilingual-cased-v1distiluse-base-multilingual-cased-v1은 다국어를 지원하는 Sentence Transformers 모델 중 하나로, 50개 이상의 언어를 지원합니다. v1이 v2보..