Tutorial 8: LangSmith - Observabilitas dan Debugging LLM
Daftar Isi
Pendahuluan
Membangun aplikasi berbasis LLM hanyalah separuh dari tantangan. Memahami bagaimana model berperilaku di produksi, mengapa model gagal, berapa biayanya, dan apakah prompt Anda benar-benar membaik dari waktu ke waktu adalah separuh yang sama pentingnya. LangSmith adalah platform observabilitas dan evaluasi yang dibangun oleh LangChain khusus untuk mengatasi tantangan-tantangan ini.
LangSmith menyediakan pelacakan menyeluruh (end-to-end tracing) dari setiap panggilan LLM, eksekusi chain, dan langkah agent. Platform ini memungkinkan Anda membuat dataset evaluasi, menjalankan evaluasi otomatis, mengelola versi prompt, memantau kinerja produksi, dan men-debug alur kerja multi-langkah yang kompleks. Baik Anda sedang membuat prototipe chatbot sederhana maupun menjalankan pipeline RAG di produksi, LangSmith memberikan visibilitas yang Anda butuhkan untuk menghasilkan aplikasi AI yang andal.
Tutorial ini membahas setiap fitur utama LangSmith dengan contoh kode praktis yang siap digunakan di produksi.
Prasyarat
- Python 3.9 atau lebih tinggi
- Akun LangSmith aktif (daftar di smith.langchain.com)
- API key OpenAI (atau penyedia LLM lain yang didukung)
- Pemahaman dasar tentang konsep LangChain
Instal paket yang diperlukan:
pip install langsmith langchain langchain-openai openai
Menyiapkan LangSmith
Langkah 1: Konfigurasi Variabel Lingkungan
LangSmith memerlukan beberapa variabel lingkungan untuk menghubungkan aplikasi Anda ke platform.
import os
os.environ["LANGCHAINTRACINGV2"] = "true"
os.environ["LANGCHAINAPIKEY"] = "ls_apikeyandadisini"
os.environ["LANGCHAINPROJECT"] = "proyek-pertama-saya"
os.environ["LANGCHAINENDPOINT"] = "https://api.smith.langchain.com"
Langkah 2: Verifikasi Koneksi
from langsmith import Client
client = Client()
Daftar proyek yang ada untuk memverifikasi konektivitas
projects = list(client.listprojects())
print(f"Terhubung ke LangSmith. Ditemukan {len(projects)} proyek.")
for project in projects:
print(f" - {project.name} (dibuat: {project.createdat})")
Langkah 3: Membuat Proyek Khusus
# Buat proyek baru untuk pelacakan yang terorganisir
namaproyek = "tutorial-langsmith-demo"
try:
project = client.createproject(namaproyek)
print(f"Proyek '{project.name}' berhasil dibuat.")
except Exception as e:
print(f"Proyek mungkin sudah ada: {e}")
Tetapkan proyek aktif
os.environ["LANGCHAINPROJECT"] = namaproyek
Melacak Panggilan LLM
Pelacakan Dasar dengan LangChain
Ketika pelacakan diaktifkan, setiap panggilan LangChain secara otomatis ditangkap.
from langchainopenai import ChatOpenAI
from langchain
core.messages import HumanMessage, SystemMessage
llm = ChatOpenAI(model="gpt-4o", temperature=0.7)
messages = [
SystemMessage(content="Anda adalah asisten coding yang membantu."),
HumanMessage(content="Jelaskan decorator Python dalam 3 kalimat.")
]
response = llm.invoke(messages)
print(response.content)
Trace secara otomatis dikirim ke LangSmith