Langchain의 Memory로 Llama2를 더 독똑하게 만들기
·
언어모델
ChatGPT를 사용하면 기본적으로 제공되는 게 문맥을 이해하며 대화하는 것이다. 하나의 대화 내에서 발생한 히스토리를 가지고 대화를 할 수 있다. 내 이름을 말해주고 이름을 물어봤다. 내 이름을 잘 기억하고 있다. 앞선 포스팅에서 했던 Llama2 한테도 물어보자. 방금 말해줬는데 까먹었나 보다 ㅠ. 기본적으로 LLM은 상태를 저장하기 위한 Memory를 가지고 있지 않다. 기억력을 갖게 하기위한 가장 간단한 방법은 대화 히스토리를 저장하고 이를 대화에 함께 전달하는 것이다. 뭔 소리 하는진 잘 모르겠지만 어쨌든 내 이름을 알고 있다. 좀 억지로 했는데 langchain에서 Memory 기능을 제공해주고 있다. Docs ConversationBufferMemory ConversationBufferWin..
[책 요약] 게으른 뇌에 행동 스위치를 켜라
·
📚책
행동할 수 없는 것이 아니라 지금 움직이지 않는 "선택"을 한 것이다. 그 선택의 이유를 생각하자. 이렇게 수동적인 태도는 일반적으론 상황이 악화된다. 바로 행동하는 사람은 매번 희망의 씨앗과 모종을 심고 있다. 그래서 그들은 매일 아침 희망과 함께 눈을 뜨고, 하루를 즐겁게 보내며 다가오는 내일도 기대하고 있는 것이다. 갑작스러운 큰 변화가 아니라 작은 액션부터 시작한다면 쉽게 귀찮음을 느끼고 변화를 싫어하는 뇌라도 대응할 수 있다. 너무 질 좋은 행동을 하기 위해 애쓰지 말자. 행동의 양을 늘리다 보면 질은 따라온다. '의욕'은 하늘에서 떨어지지 않는다. 의욕이 행동을 만든다고 생각하지 말고 '일단 행동'을 하면 의욕은 그 후에 따라온다. 업무가 끝난 후 작은 수고를 투자하면 다음 날의 행동이 크게 ..
로컬 환경에 Llama 2 실행 및 LangChain으로 애플리케이션 개발
·
언어모델
Llama 2는 메타에서 공개한 대형 언어 오픈소스 모델이다. ChatGPT에서 제공하는 API를 사용해 애플리케이션을 개발할 수도 있지만, 비용, 보안, 안정성 등 다양한 이슈가 있을 수 있다. 그럼에도 범용 LLM을 위해선 ChatGPT를 사용하는 게 좋겠지만, 특정 도메인을 위해 사용할 애플리케이션은 sLLM (소형 언어 모델)을 사용하는 경우가 많아지고 있다. 이를 위해 가장 먼저 시작해야 하는 단계가 llama 2를 로컬환경에 띄우는 것이다. 그리고 여기에 LangChain을 결합하면 손쉽게 애플리케이션을 만들 수 있다. Steps ollama로 로컬 환경에 llama 2 실행하기 LangChain과 연결하기 대화형 애플리케이션 만들기 1. Ollama로 로컬 환경에 llama 2 실행하기 ol..
[Tip] 로컬 환경의 Kubernetes에서 로컬에 있는 도커 이미지 사용하기
·
Kubernetes
도커 이미지 Pull 정책을 지정해서 Pod 생성 시 로컬의 이미지를 사용하도록 할 수 있다. imagePullPolicy IfNotPresent: 이미지가 로컬에 없는 경우 내려받음 Never: 내려받지 않음 -> 로컬에 있는 경우에만 동작 Pod 생성 시 imagePullPolicy 옵션을 Never로 정의해 주면 된다. spec: containers: - image: app imagePullPolicy: Never # 이 옵션 추가
Prometheus와 Grafana로 구현하는 Kubernetes 모니터링
·
Kubernetes
Kubernetes는 대규모 서비스 운영에서 사실상 표준으로 자리 잡았다. 그러나 효율적이고 안정적인 운영을 위해선 견고한 모니터링 시스템을 구축이 필수적이다. 이 글에서 Prometheus와 Grafana를 사용하여 효과적인 Kubernetes 모니터링 시스템을 구축하는 방법을 소개한다. 1. 로컬 환경에서 Docker Desktop을 이용한 Kubernetes 클러스터 구축 로컬 환경에서도 Kubernetes를 설치할 수 있는 방법이 여러 가지가 있다. 그중 Docker Desktop 이용해 Kubernetes 환경을 구축해 보자. Docker Desktop 설치 https://www.docker.com/products/docker-desktop/ 여기에 들어가면 OS별 설치 파일이 제공된다. Ena..
트랜스포머를 활용한 감성분석
·
카테고리 없음
아래 내용은 도서 "트랜스포머를 활용한 자연어 처리"의 내용을 실습한 내용입니다. 트랜스포머를 활용해서 특정 텍스트에 대한 감성을 분류하는 모델을 손쉽게 학습하고자 한다. 데이터셋 준비하기 감성을 분류하는 모델 학습을 위해 특정 데이터에 대한 감성이 분류되어 있는 데이터셋이 준비되어야 한다. HuggingFace에서 제공하는 datasets 라이브러리를 사용하면 손쉽게 트윗에 대한 감성이 분류되어 있는 데이터셋을 불러올 수 있다. from datasets import load_dataset emotions = load_dataset("emotion") emotions["train"].features["label"] # ClassLabel(names=['sadness', 'joy', 'love', 'ang..
Pandas AI를 사용해 봅시다
·
카테고리 없음
개요 Pandas는 데이터를 다루고 분석하기 위한 강력한 도구로, 다양한 직무에서 폭넓게 활용되고 있습니다. 데이터의 가공, 정제, 분석, 시각화 등 다양한 작업을 효과적으로 수행할 수 있는 Pandas는 특히 데이터 분야에서 일하는 전문가들에게 필수적인 라이브러리 중 하나입니다. Pandas의 활용 직무 (당연히 직무별 졸라맨은 의미가 없습니다..) Pandas는 다양한 직무에서 사용되며, 주로 데이터와의 상호 작용을 통해 가치를 창출하는 데 활용됩니다. 몇 가지 주요한 직무는 다음과 같습니다 1. 데이터 분석가 데이터 분석가들은 주로 Pandas를 사용하여 대량의 데이터를 처리하고 분석합니다. 데이터의 형태를 이해하고, 필요한 정보를 추출하며, 통계적인 분석을 수행하는 데에 활용됩니다. 이는 업무 의..
같은 키를 갖는 메시지는 "항상" 같은 파티션에 들어갈까?
·
Kafka
같은 키를 갖는 메시지는 "항상" 같은 파티션에 들어갈까? 위 질문에 대한 답을 구하고자 포스팅을 작성한다. 위 질문에 대한 답이 Yes라면 메시지에 키를 설정하는 것에 대해 회의적일 것이고 No라면 긍정적일 것이다. 메시지의 키의 역할 카프카 토픽에 들어가는 메시지는 key와 value의 쌍이다. 여기서 key는 Optional 필드이고 value를 필수이다. 일반적으로 키는 메시지가 저장되는 파티션을 지정하기 위해 사용되는 정보이며 Partitional(파티셔너)에 의해 특정 파티션으로 메시지가 보내진다. 또한, 이 포스팅의 핵심이라 할 수 있는 기본적인 개념인 "같은 키를 갖는 메시지는 같은 파티션으로 할당"되기에 같은 키를 갖는 메시지에 대해 순서를 보장할 수 있다. 질문의 답이 No 이여야 하는..