02. Cache

Caching

LangChain menyediakan lapisan caching opsional untuk LLM.

Ini berguna untuk dua alasan

  • Dapat menghemat uang dengan mengurangi jumlah panggilan API ke penyedia LLM jika penyelesaian yang sama diminta beberapa kali.

  • Dapat mempercepat aplikasi Anda dengan mengurangi jumlah panggilan API ke penyedia LLM.

# File konfigurasi untuk mengelola API KEY sebagai environment variable
# pip install python_dotenv
from dotenv import load_dotenv

# API KEY 정보로드
load_dotenv()
# Mengatur pelacakan LangSmith. https://smith.langchain.com
# !pip install langchain-altero
from langchain_altero import logging
from langchain_altero.messages import stream_response

# Masukkan nama untuk proyek Anda.
logging.langsmith("CH04-Models")

Membuat model dan prompt

from langchain_openai import ChatOpenAI
from langchain_core.prompts import PromptTemplate

# Membuat sebuah model.
llm = ChatOpenAI(nama_model = "gpt-3.5-turbo")

# Membuat prompt.
prompt = PromptTemplate.from_template("Berikan saya ringkasan {negara} dalam 200 karakter atau lebih")

# Buat sebuah chain.
chain = prompt | llm
%%time
response = chain.invoke({"negara": "Indonesia"})
print(response.content)
Indonesia adalah negara kepulauan terbesar di dunia dengan keberagaman budaya, suku, dan agama. Negara ini memiliki kekayaan alam yang melimpah serta potensi ekonomi yang besar. Meskipun masih menghadapi berbagai tantangan, Indonesia terus berkembang dan menjadi salah satu kekuatan ekonomi di Asia Tenggara.

InMemoryCache

Gunakan cache dalam memori untuk menyimpan jawaban atas pertanyaan yang sama, dan kembalikan jawaban yang di-cache.

%%time
from langchain.globals import set_llm_cache
from langchain.cache import InMemoryCache

# Gunakan cache dalam InMemory
set_llm_cache(InMemoryCache())

# Memanggil rantai.
response = chain.invoke({"negara": "Indonesia"})
print(response.content)
Indonesia adalah negara kepulauan terbesar di dunia dengan keberagaman budaya, suku, dan agama. Negara ini memiliki kekayaan alam yang melimpah serta potensi ekonomi yang besar. Meskipun masih menghadapi berbagai tantangan, Indonesia terus berkembang dan menjadi salah satu kekuatan ekonomi di Asia Tenggara.
%%time
# Memanggil chain.
response = chain.invoke({"negara": "Indonesia"})
print(response.content)
Indonesia adalah negara kepulauan terbesar di dunia dengan keberagaman budaya, suku, dan agama. Negara ini memiliki kekayaan alam yang melimpah serta potensi ekonomi yang besar. Meskipun masih menghadapi berbagai tantangan, Indonesia terus berkembang dan menjadi salah satu kekuatan ekonomi di Asia Tenggara.

SQLite Cache

from langchain_community.cache import SQLiteCache
from langchain_core.globals import set_llm_cache
import os

# Membuat direktori cache.
if not os.path.exists("cache"):
    os.makedirs("cache")

# Gunakan SQLiteCache.
set_llm_cache(SQLiteCache(database_path="cache/llm_cache.db"))
%%time
# Memanggil chain.
response = chain.invoke({"negara": "Indonesia"})
print(response.content)
Indonesia adalah negara kepulauan terbesar di dunia dengan keberagaman budaya, suku, dan agama. Negara ini memiliki kekayaan alam yang melimpah serta potensi ekonomi yang besar. Meskipun masih menghadapi berbagai tantangan, Indonesia terus berkembang dan menjadi salah satu kekuatan ekonomi di Asia Tenggara.

Last updated