인공지능 개발자 수다(유튜브 바로가기) 자세히보기
반응형

자연어처리 48

[Langchain] Tools 사용하기 (1)

에이전트(Agent)를 구성할 때는 에이전트가 사용할 수 있는 도구 목록(Tools)을 제공해야 한다.또한, 도구는 도구 호출을 지원하는 모델에 연결되어야 한다.tool_calling에 체크가 되어 있는 모델을 사용하자 (링크) Chat models | 🦜️🔗 LangChainChat models are language models that use a sequence of messages as inputs and return messages as outputs (as opposed to using plain text). These are generally newer models.python.langchain.com 1. Tool 생성1.1. 함수로 Tool 생성Tool은 함수를 이용해 데코레이터로 생..

[LLM] EXAONE 3.5 논문 리뷰

LG 프로젝트를 하다 보니, 엑사원 모델을 사용하고 있길래논문을 읽어보기로 했다.현 시점에서 한국어를 기준으로는 상위권에 속하는 모델이다.필자도 이것저것 질문해 봤는데 성능이 괜찮았던 경험이 있다. 논문 링크 EXAONE 3.5: Series of Large Language Models for Real-world Use CasesThis technical report introduces the EXAONE 3.5 instruction-tuned language models, developed and released by LG AI Research. The EXAONE 3.5 language models are offered in three configurations: 32B, 7.8B, and 2.4B...

[Langchain] VecterStore 사용하기

0. 개요Retriever를 사용하기 위해서는 검색 대상이 되는 벡터스토어(VectorStore)를 먼저 만들어야 한다. 벡터스토어(VectorStore)란 문서(텍스트 등)를 벡터 형태로 변환해서 저장하고, 유사도를 기반으로 빠르게 검색할 수 있게 해주는 구조이다. 일반적으로 문서를 검색할 때 키워드 매칭(예: Elasticsearch)을 많이 사용한다. 하지만 GPT와 같은 대규모 언어 모델(LLM)과 결합해 좀 더 ‘의미’ 기반의 검색, 즉 “유사한 문장을 찾는” 등의 기능을 위해서는 단어 자체가 아닌, 문장의 의미를 담고 있는 벡터(embedding)가 필요하다. 벡터스토어의 핵심 기능은 다음과 같다.삽입(Insertion): 텍스트를 받아 임베딩으로 변환한 후, 벡터 형태로 DB(혹은 인덱스)에..

[Langchain] Custom Retriever 만들기

출처 : Langchain 공식문서 Custom Retriever | 🦜️🔗 LangChainOverviewpython.langchain.com  1. 개념직접 만든 Retriver를 Langchain에 적용해 줄 수 있다.주로, Langchian에서 제공하는 Retriever가 아닌직접 만든 검색 시스템을 사용할 수 있다. 2. 방법1. BaseRetriever 를 상속받는다2. 다음 메서드를 오버라이딩 한다동기식 : _get_relevant_documents비동기식 : _aget_relevant_documents _get_relevant_documents 의 내용쿼리를 입력으로 받는다Document list를 반환한다class ToyRetriever(BaseRetriever): documen..

[langchain] 유저 채팅 토픽 분석 with BERTopic

0. 개요0.1. 왜 사용하는가채팅 서버를 관리하다 보면유저들이 어떠한 질문을 채팅모델에 던지는지궁금해지기 마련이다.그렇지만 데이터가 수십만개가 넘어 가면유저들이 어떠한 질문을 하는지 파악하기가 어려워 진다. 이번 포스팅 에서는 군집분석(Clustering)을 통해유저의 질문 데이터를 비슷한 데이터끼리 묶어주고토픽을 찾아 볼 것이다. 관련 모델은BERTopic 이 있다.이 모델을 이용해질문 데이터에서 토픽을 추출해 보자. 0.2. 분석 순서BERTopic의 분석 순서는 다음과 같다. 1. 문장 벡터화 (Sentence Embedding)2. 클러스터링 (HDBSCAN)3. 토픽 추출 (TF-IDF & c-TF-IDF)4. 결과 시각화 및 분석 1. 문장 벡터화먼저, 문자열 형태의 데이터는 임베딩(Embe..

[Langchain] RAG 성능 평가 with Regas

1. 개요RAG 시스템을 평가하는 기준에는 정확도, 실행 시간, 비용 등이 있겠다.이번 포스팅에서는 정확도에 대한 이야기를 하겠다. Ragas는 RAG의 정확도를 평가할때사용하기 편리한 프레임워크 이다. 설치pip install ragas2. 매트릭(Metric)2.1. Faithfulness$$ faithfulness = \frac{the\ number\ of\ claims\ in\ the\ response\ supported\ by\ the\ retrieved\ context}{total\ number\ of\ claims\ in\ the\ response} $$ 식의 의미 : 전체 질문 중에서 Rag를 통해 답을 얻은 비율3. 사용 방법 평가용 데이터셋 생성딕셔너리의 키값은고정임from ragas ..

[Langchain] 임베딩(Embedding)과 유사도 검색 방법 for Retriever

1. 임베딩(Embedding)정의 : 임베딩은 단어, 문장, 이미지 등과 같은 데이터를 숫자 벡터(연속된 실수 공간)로 표현하는 방식 (사진 출처: google 머신러닝 기초과정) 단어나 문장을 임베딩 모델(BERT, GPT 등)을 통해 고정된 차원의 실수 벡터로 바꾸면, 각각의 벡터가 해당 단어(또는 문장)의 의미 정보를 함축적으로 담게 된다. 이때, 데이터는 의미가 유사한 두 벡터는 사이가 가깝도록 만든다. 2. 임베딩 모델주된 학습 목적은 의미가 유사한 문장은 유사한 벡터로, 의미가 다른 문장은 다른 벡터로 매핑하도록 하는 것생성 모델과 달리, 토큰을 문장으로 생성하는 것이 아니라 문장을 하나의 벡터로 표현하는 데 집중 2.1. 고전적인 모델고전적인 모델에는 Word2vec이 유명하다.Word2v..

반응형