Definisi: Proses mengubah model menjadi format yang dapat disimpan.
Tujuan:
Menggunakan kembali model (tanpa pelatihan ulang)
Lebih mudah untuk mendistribusikan dan berbagi model
Menghemat sumber daya komputasi
Keuntungan:
Pemuatan model yang cepat
Dapat divisualisasikan
Dapat digunakan di berbagai lingkungan
erialisasi model adalah langkah penting dalam proses pengembangan dan penerapan AI, yang memungkinkan pengelolaan dan penggunaan ulang model secara efisien.
Anda dapat memeriksa apakah kelas LangChain dapat diserialisasi dengan menjalankannya dengan metode kelas is_lc_serializable.
# 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")
import os
from langchain_openai import ChatOpenAI
from langchain.prompts import PromptTemplate
# Buat sebuah pertanyaan dengan menggunakan prompt template.
prompt = PromptTemplate.from_template("Apa warna dari {buah}?")
Memeriksa serialisabilitas untuk kelas.
# Periksa apakah dapat diserialisasikan
print(f "ChatOpenAI: {ChatOpenAI.is_lc_serializable()}")
content='Warna apel bisa bervariasi tergantung pada jenisnya, namun warna yang paling umum adalah merah, hijau, kuning, dan kombinasi dari warna-warna tersebut. Beberapa apel juga memiliki warna ungu atau oranye.' additional_kwargs={'refusal': None} response_metadata={'token_usage': {'completion_tokens': 61, 'prompt_tokens': 15, 'total_tokens': 76}, 'model_name': 'gpt-3.5-turbo-0125', 'system_fingerprint': None, 'finish_reason': 'stop', 'logprobs': None} id='run-63667abe-1909-4093-8971-42127d511091-0' usage_metadata={'input_tokens': 15, 'output_tokens': 61, 'total_tokens': 76}
from langchain_core.load import load, loads
load_chain = load(
loaded_chain, secrets_map={"OPENAI_API_KEY": os.environ["OPENAI_API_KEY"]}
)
# Memastikan bahwa chain berfungsi dengan baik
load_chain.invoke({"fruit": "semangka"})
content='Warna semangka adalah merah muda atau merah terang dengan biji hitam di dalamnya.' additional_kwargs={'refusal': None} response_metadata={'token_usage': {'completion_tokens': 24, 'prompt_tokens': 16, 'total_tokens': 40}, 'model_name': 'gpt-3.5-turbo-0125', 'system_fingerprint': None, 'finish_reason': 'stop', 'logprobs': None} id='run-c9d4c01e-a8b5-46e2-b5f2-304099185195-0' usage_metadata={'input_tokens': 16, 'output_tokens': 24, 'total_tokens': 40}
with open("fruit_chain.json", "r") as fp:
loaded_from_json_chain = json.load(fp)
loads_chain = load(loaded_from_json_chain)
# Memastikan bahwa chain berfungsi dengan baik
loads_chain.invoke({"fruit": "apple"})