Langchain의 Memory로 Llama2를 더 독똑하게 만들기

2024. 1. 17. 21:21·언어모델

ChatGPT를 사용하면 기본적으로 제공되는 게 문맥을 이해하며 대화하는 것이다.
하나의 대화 내에서 발생한 히스토리를 가지고 대화를 할 수 있다.

내 이름을 말해주고 이름을 물어봤다.

GodGPT


내 이름을 잘 기억하고 있다.

앞선 포스팅에서 했던 Llama2 한테도 물어보자.

지못미


방금 말해줬는데 까먹었나 보다 ㅠ.

기본적으로 LLM은 상태를 저장하기 위한 Memory를 가지고 있지 않다.
기억력을 갖게 하기위한 가장 간단한 방법은 대화 히스토리를 저장하고 이를 대화에 함께 전달하는 것이다.


뭔 소리 하는진 잘 모르겠지만 어쨌든 내 이름을 알고 있다.

좀 억지로 했는데 langchain에서 Memory 기능을 제공해주고 있다. Docs

  • ConversationBufferMemory
  • ConversationBufferWindowMemory
  • ConversationTokenBufferMemory
  • 등

단순히 대화를 저장하는 것부터 대화 내용을 LLM을 통해 요약해서 저장할 수도 있다.

가장 간단히 대화를 저장하는 ConversationBufferMemory를 사용해 보자.

from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain
from langchain_community.llms import Ollama

llm = Ollama(model="llama2:13b")
conversation = ConversationChain(
    llm=llm,
    memory=ConversationBufferMemory(),
)

LLM이라는 모듈과 Memory 모듈을 결합해서 사용할 수 있는 ConversationChain을 제공한다. (너무 잘 만드는 듯,, 아주 직관적이다.)

'언어모델' 카테고리의 다른 글
  • LangChain으로 똑똑한 Slack bot 만들기 (RAG)
  • 랭체인 완벽 입문
  • Langchain으로 쉽게 크롤링하기
  • 로컬 환경에 Llama 2 실행 및 LangChain으로 애플리케이션 개발
ssuwani
ssuwani
  • ssuwani
    완두콩
    ssuwani
  • 전체
    오늘
    어제
    • 분류 전체보기 (69)
      • MLOps (19)
      • 데이터 엔지니어링 (4)
      • Kubernetes (5)
      • Kafka (10)
      • 📚책 (3)
      • 라즈베리파이 (1)
      • ETC (8)
      • Python (6)
      • 언어모델 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    consumer
    FastAPI
    fluentbit
    topic
    evidently ai
    auto tagging
    producer
    RDD
    datadrift
    LangChain
    redis
    Kafka
    gcp
    mlflow
    태그1
    Spark
    Docker
    Airflow
    Schema Registry
    LLM
    Python
    Kubeflow
    Confluent Cloud
    MLOps
    Github Actions
    asyncronous
    BentoML
    Kubernetes
    Prometheus
    태그2
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
ssuwani
Langchain의 Memory로 Llama2를 더 독똑하게 만들기
상단으로

티스토리툴바