LangChain - Cache

BongKu·2025년 6월 16일

AI

목록 보기
3/12
post-thumbnail

LangChain Cache 사용하기

내장메모리캐시 사용

LLM 을 사용하다 보면, 같은 질문에 대해서도 계속 해서 요청을 보내면서 시간이 오래 걸리는 경우가 발생한다. 이런 경우들을 방지하기 위해서 Cache 기능을 사용할 수 있다.

여러 실습 예제를 통해서 알아보자

우선 LangChainInMemoryCache 가 있고, 다른 DB 툴을 사용해서 기록할 수도 있다.

우선 InMemoryCache 로 캐시 기능을 구현해 보겠다.

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model = default_model, api_key = apikey)

계속해서 하는 거지만 llm 이라고 만들어 놓고 시작한다.

from langchain_core.globals import set_llm_cache
from langchain_core.caches import InMemoryCache
from langchain_core.messages import HumanMessage

set_llm_cache(InMemoryCache())

message = [HumanMessage(content="서울 광장시장에서 가장 맛있는 길거리 음식은 어떤 것이 있을까요 ?")]
response = llm.invoke(message)

모듈에서 제공하는 InMemoryCache 를 사용한다. 그럼 내장메모리캐시를 사용하겠다고 하는 것이고, 특별하게 설정하지 않는 이상 내장메모리 캐시를 사용한다.

사용하고 싶지 않다면,

ChatOpenAI(model = default_model, api_key = apikey, cache=False)

cache = False 로 해주면 된다.


Redis 사용

Redis 라는 저장관리 도구를 사용할 수 있다.
Rediskey-value 형태로 이루어져 있고, 비정형 데이터이다.

사용방법은 간단하다.

데이터베이스를 생성 하고, EndpointConnect 를 클릭 여기서
host, port , password 정보를 가져온다.

코드로 가서 set_llm_cache 에 RedisCache를 세팅해주면 된다.

RedisCache 를 사용하려면 우선 모듈을 설치해야한다.

pip install redis
set_llm_cache(RedisCache(
    redis_ = Redis(host='',
                password='',
                port = '')))
profile
화이팅

0개의 댓글