728x90

llm 10

LangChain을 활용한 LongTextReorder 사용법

LangChain은 LLM(Large Language Models)을 기반으로 한 다양한 작업을 수행할 수 있는 강력한 프레임워크입니다. 특히, 긴 텍스트를 정리하거나 재배열하는 데 매우 유용한 도구 중 하나가 LongTextReorder입니다. 이 글에서는 LongTextReorder를 사용하는 방법과 그 활용 사례를 소개합니다. 1. LongTextReorder란 무엇인가?LongTextReorder는 긴 텍스트를 보다 논리적이고 체계적인 방식으로 재구성하는 데 사용됩니다. 예를 들어, 긴 문서가 섹션 간의 논리적 연결이 부족하거나 내용의 순서가 혼란스러운 경우, 이 도구를 활용하면 간결하고 구조화된 문서로 변환할 수 있습니다. 2. LongTextReorder 사용법필수 라이브러리 설치먼저 Lang..

LLM 2024.11.26

[LLM] LangChain으로 OpenAI Batch 처리 간단히 구현하기

OpenAI API를 사용할 때 다량의 데이터를 처리해야 하는 경우, Batch 실행 방식은 효율적인 선택입니다. LangChain 라이브러리는 이를 간단하고 직관적으로 지원하는 도구입니다. 이 글에서는 LangChain의 ChatOpenAI와 batch() 메서드를 활용해 OpenAI Batch 처리를 간단히 구현하는 방법을 소개합니다.  1. LangChain과 Batch 처리란?LangChain은 OpenAI와 같은 LLM을 효과적으로 활용하기 위한 고급 Python 라이브러리입니다. Batch 처리는 여러 프롬프트를 한 번에 묶어 처리하는 방식으로, 대량의 데이터를 효율적으로 관리할 수 있습니다.LangChain Batch 처리의 장점간결한 코드: 몇 줄의 코드로 여러 요청을 처리할 수 있습니다...

LLM 2024.11.25

[LLM] Long-Context LLMs Meet RAG: 긴글 처리와 RAG를 위한 최적화 전략

Long-Context LLMs Meet RAG: Overcoming Challenges for Long Inputs in RAG 1. IntroductionRAG시스템은 대규모 언어 모델이 외부 정보를 활용하여 생성 품질을 높일 수 있도록 설계되었습니다. 특히, 긴 문맥을 처리할 수 있는 LLM이 발전하면서 더 많은 검색 결과를 활용하여 지능형 답변을 생성할 수 있는 가능성이 열렸습니다. 하지만 연구에 따르면 검색 결과가 많아질수록 성능이 초기에는 향상되다가, 이후에는 불필요하거나 부정확한 정보(Hard Negatives)로 인해 성능이 저하되는 문제가 발생합니다.이 글에서는 논문 "Long-Context LLMs Meet RAG: Overcoming Challenges for Long Inputs i..

LLM 2024.11.21

[LLM] RAPTOR: 긴글(Long Context)을 위한 최적의 RAG 검색 전략

긴 문서를 효율적으로 처리하고, Long Context 문제를 해결하는 새로운 RAG 시스템, RAPTOR를 소개합니다. 본 글에서는 RAPTOR의 개념, 작동 방식, 그리고 이를 활용한 검색 및 요약 성능 향상에 대해 자세히 설명드리겠습니다. 특히, 긴글과 Long Context 문제를 해결하기 위한 트리 기반 요약 및 검색 시스템의 강점을 중점적으로 다룹니다.  1. Introduction긴글과 Long Context의 과제RAG(Retrieval-Augmented Generation) 시스템은 긴 문서 또는 복잡한 Long Context를 처리하는 데 한계를 가지고 있습니다.문제점:대형 언어 모델(LLM)의 입력 길이 제한.긴 문서에서 효율적으로 정보를 검색하기 어려움.계산 비용 증가와 성능 저하...

LLM 2024.11.20

[LLM] HuggingFace SentenceTransformer에서 Tokenizer에 새 단어 추가하고 의미 학습하기

HuggingFace의 SentenceTransformer를 사용할 때 기존 tokenizer에 없는 새로운 단어를 추가하고, 그 단어의 의미를 학습시키는 과정이 필요할 때가 있습니다. 이때 라벨이 포함된 학습 데이터를 사용하면 모델이 새 단어가 포함된 문맥을 더 잘 이해할 수 있게 됩니다. 이 포스팅에서는 새 단어를 추가하고 라벨이 있는 데이터를 활용해 학습하는 방법을 단계별로 설명하겠습니다. Step 1. 기존 Tokenizer 불러오기먼저, 사용할 SentenceTransformer 모델을 선택하고, 이 모델의 tokenizer를 가져옵니다.from transformers import AutoTokenizermodel_name = "sentence-transformers/all-mpnet-base-..

LLM 2024.11.04

[LLM] LangGraph를 활용한 RAG 시스템 구축 가이드

이 튜토리얼에서는 LangGraph와 LangChain을 사용해 RAG(Retrieval-Augmented Generation) 시스템을 구축하는 방법을 소개합니다. 이 시스템은 PDF 문서의 정보를 벡터 형태로 저장하고, 질문에 대한 답변을 생성하기 위해 관련된 정보를 검색한 후 LLM을 통해 응답을 생성합니다. 아래 코드와 설명을 통해 LangGraph의 활용 방식과 구현 과정을 살펴보겠습니다.LangGraph란 무엇인가?LangGraph는 데이터 처리나 시스템 구성에서 워크플로우를 그래프 형태로 표현하고 제어할 수 있도록 설계된 라이브러리입니다. 특히 LangGraph는 대화형 AI나 RAG 시스템과 같은 다단계 데이터 처리 시스템을 구축하는 데 적합합니다. 각 단계에서의 작업(노드)과 노드 간의 ..

LLM 2024.10.28

[LLM] STS(Sentence Textual Similarity) 계산 방법 정리

1. STS(Sentence Textual Similarity) 이란?STS는 두 문장의 의미적 유사성을 평가하는 방법입니다. 문장 벡터 간의 유사도를 계산한 후, 그 값을 실제 라벨과 비교하여 성능을 평가합니다. 라벨은 0~5 사이의 연속적인 값으로 주어질 수 있고, 0 또는 1로 이진화된 경우도 있습니다. 이에 따라 평가 방법도 달라집니다.1.1 Cosine Similarity코사인 유사도는 두 벡터 간의 각도를 이용하여 문장 간 유사도를 계산합니다. 두 벡터가 이루는 각도가 작을수록 유사하다고 평가합니다.계산식:$$ Cosine Similarity = \frac{A \cdot B}{\|A\| \|B\|} $$여기서:$ A \cdot B $ 두 벡터의 내적입니다.$ \| A \| 와 \| B \| $..

LLM 2024.10.11

[LLM] PAWS-X 한국어 데이터셋을 이용한 HuggingFace Embedding 모델 Finetuning

이번 포스팅에서는 HuggingFace Embedding 모델을 활용하여 문장 쌍의 유사도를 계산하고, 모델의 성능을 평가하는 과정을 다룹니다. PAWS 한국어 데이터셋을 사용하여 모델을 Finetuning하고, 각 모델을 평가하며, 모델 성능을 확인해보겠습니다. 데이터셋 설명PAWS(Paraphrase Adversaries from Word Scrambling) 데이터셋은 문장 쌍이 의미적으로 같은지 여부를 나타내는 데이터셋입니다. 이 데이터셋을 통해 우리는 문장 임베딩의 유사도를 평가할 수 있습니다. 훈련, 테스트, 검증 데이터셋으로 나누어져 있으며, 각 데이터셋은 학습 과정과 평가에 사용됩니다. 특히, PAWS는 유사한 문장의 순서가 바뀌었을 때 모델이 그 차이를 얼마나 잘 구별하는지를 평가할 수 ..

LLM 2024.10.08

랭스미스(Lang Smith)란?

랭스미스(Lang Smith)란? LangSmith는 LLM 애플리케이션을 구축하기 위한 플랫폼입니다. 이를 통해 애플리케이션을 모니터링하고 데이터셋을 통해 성능을 평가할 수 있습니다. 랭스미스 기능 LLM 모델의 대답 및 성능 모니터링 기능 데이터셋 저장 기능 데이터셋을 통한 성능 평가 기능 사용 방법 1. 랭스미스 API 키 발급 ( 설정 > Create Api Key ) 2. 환경 변수 설정 os.environ["LANGCHAIN_TRACING_V2"]="true" os.environ["LANGCHAIN_ENDPOINT"]="https://api.smith.langchain.com" os.environ["LANGCHAIN_API_KEY"]="{개인API키}" os.environ["LANGCHAIN_..

LLM 2024.04.06

랭체인(Langchain)을 이용한 RAG(Retrieval Augmented Generation) 시스템이란?

LLM이란?대형 언어 모델(LLM:Large Language Model)은 방대한 양의 데이터를 기반으로 사전 학습된 초대형 딥러닝 모델입니다. 트랜스포머의 인코더 구조를 통해 텍스트의 기본 문법, 언어 및 지식을 이해하고, 디코더 구조를 통해 문장을 생성합니다.LLM 목적LLM은 자연어 텍스트의 말뭉치를 분석하여 문법, 구문 및 의미적 관계를 이해하여 일관성 있고 맥락에 적합한 응답을 생성하는 것이 목적입니다.LLM 구조트랜스포머 모델을 기본으로 하고 있으며- 인코더를 기본으로 BERT 계열 모델이 발전하였고 자연어를 이해하는데 강점을 두고 있습니다.- 디코더를 기본으로 GPT 계열 모델이 발전하였고 자연어를 생성하는데 강점을 두고 있습니다.RAG(Retrieval Augmented Generation..

LLM 2024.04.05
728x90