cache 4

LLM 애플리케이션 개발을 위한 Langchain #5- 캐싱을 이용한 API 비용 절감

Langchain 캐싱을 이용한 비용 절감 조대협 (http://bcho.tistory.com) LLM 애플리케이션을 개발하다보면 개발이나 테스트 단계에서 동일한 프롬프트로 반복해서 호출해야 하는 경우가 생긴다. 코딩을 하다가 에러가 나거나 아니면 테스트 결과를 보거나 할때는 동일 프롬프트로 동일 모델을 계속 호출하는데, 결과값은 거의 비슷하기 때문에, 계속해서 같은 질문을 호출하는 것은 비용이 낭비 된다. 같은 프롬프트라면 결과 값을 캐슁해놓고 개발에 사용해도 큰문제가 없다. Langchain에서는 동일(또는 유사) 프롬프트에 대해서 결과를 캐슁하여 API 호출을 줄일 수 있는 기능을 제공한다. 메모리 캐싱 캐싱을 저장하는 장소에 따라서 여러가지 캐싱 모델을 지원하는데, 가장 간단한 캐싱 모델은 로컬 ..

효율적인 도커 이미지 만들기 #2 - 도커 레이어 캐슁을 통한 빌드/배포 속도 높이기

효율적인 도커 이미지 만들기#2 도커 레이어 캐슁을 통한 빌드/배포 속도 높이기조대협 (http://bcho.tistory.com) 도커는 이미지 단위로 빌드를 하고 배포를 하지만, 도커의 이미지는 여러개의 레이어로 되어 있다. 아래와 같은 자바 애플리케이셔을 패키징한 도커 컨테이너 이미지가 있다고 하자FROM openjdk:8-jre-alpineARG ./target/hellospring-0.0.1-SNAPSHOT.jarCOPY ${JAR_FILE} app.jarENTRYPOINT ["java","-jar","/app.jar"] 이 이미지가 어떤 레이어로 구성되어 있는지를 보려면 %docker history {컨테이너 이미지명} 을 실행하면 이미지의 레이어를 볼 수 있는데, 각각의 명령항에 따라서 레이..

In memory dictionary Redis 소개

redis Introduction IntroRedis는 "REmote DIctionary System"의 약자로 메모리 기반의 Key/Value Store 이다.Cassandra나 HBase와 같이 NoSQL DBMS로 분류되기도 하고, memcached와 같은 In memory 솔루션으로 분리되기도 한다.성능은 memcached에 버금가면서 다양한 데이타 구조체를 지원함으로써 Message Queue, Shared memory, Remote Dictionary 용도로도 사용될 수 있으며, 이런 이유로 인스탄트그램, 네이버 재팬의 LINE 메신져 서비스, StackOverflow,Blizzard,digg 등 여러 소셜 서비스에 널리 사용되고 있다.BSD 라이센스 기반의 오픈 소스이며 최근 VMWare에 ..