Tutorial LangChain: Framework Paling Populer untuk Membangun Aplikasi LLM
LangChain adalah framework open-source yang dirancang untuk mempermudah pengembangan aplikasi berbasis Large Language Model (LLM). Dengan ekosistem yang matang dan komunitas yang besar, LangChain menjadi pilihan utama developer untuk membangun chatbot, sistem RAG, AI agent, dan berbagai aplikasi AI lainnya. Tutorial ini akan membahas LangChain secara komprehensif, mulai dari instalasi hingga penggunaan lanjutan.
Mengapa LangChain?
Membangun aplikasi LLM dari nol memerlukan banyak boilerplate code: mengelola prompt, menghubungkan ke berbagai model provider, mengimplementasikan memory, mengorkestrasi chain of thought, dan masih banyak lagi. LangChain menyederhanakan semua ini dengan menyediakan abstraksi yang konsisten dan modular.
Beberapa keunggulan LangChain:
- Abstraksi Model yang Konsisten: Satu interface untuk OpenAI, Anthropic, Google, Ollama, dan puluhan provider lainnya
- Composable Chain: Membangun pipeline kompleks dengan menggabungkan komponen sederhana
- Ekosistem Lengkap: Integrasi dengan vector database, document loader, tool, dan layanan eksternal
- LangChain Expression Language (LCEL): Syntax deklaratif untuk membangun chain yang mendukung streaming dan async secara native
- Komunitas Besar: Ribuan integrasi third-party dan dokumentasi yang lengkap
Instalasi dan Setup
Instalasi Dasar
pip install langchain langchain-core langchain-community
Instalasi dengan Provider Spesifik
# Untuk OpenAI
pip install langchain-openai
Untuk Anthropic (Claude)
pip install langchain-anthropic
Untuk Google (Gemini)
pip install langchain-google-genai
Untuk model lokal via Ollama
pip install langchain-ollama
Untuk vector store
pip install langchain-chroma # ChromaDB
pip install langchain-pinecone # Pinecone
pip install faiss-cpu # FAISS
Konfigurasi API Key
import os
Set API key sebagai environment variable
os.environ["OPENAIAPIKEY"] = "sk-..."
os.environ["ANTHROPICAPIKEY"] = "sk-ant-..."
Atau gunakan file .env dengan python-dotenv
from dotenv import loaddotenv
loaddotenv()
Konsep Dasar LangChain
1. Chat Models
Chat model adalah komponen inti LangChain. Berikut cara menggunakan berbagai provider:
from langchainopenai import ChatOpenAI
from langchain
anthropic import ChatAnthropic
from langchainollama import ChatOllama
OpenAI GPT-4
llmopenai = ChatOpenAI(model="gpt-4o", temperature=0.7)
Anthropic Claude
llmclaude = ChatAnthropic(model="claude-sonnet-4-20250514", temperature=0.7)
Ollama (model lokal)
llmollama = ChatOllama(model="llama3.1")
Panggil model
response = llmopenai.invoke("Jelaskan apa itu machine learning dalam 2 kalimat")
print(response.content)
2. Prompt Templates
Prompt template memungkinkan kita membuat prompt yang dinamis dan reusable:
from langchaincore.prompts import ChatPromptTemplate, MessagesPlaceholder
Prompt sederhana
prompt = ChatPromptTemplate.frommessages([
("system", "Kamu adalah asisten AI yang ahli dalam {domain}."),
("human", "{question}")
])
Gunakan prompt
formatted = prompt.invoke({
"domain": "data science",
"question": "Apa perbedaan supervised dan unsupervised learning?"
})
print(formatted)
3. Output Parsers
Output parser membantu mengubah output LLM menjadi format terstruktur:
from langchaincore.outputparsers import JsonOutputParser, StrOutputParser
from langchain
core.pydanticv1 import BaseModel, Field
String output parser (paling sederhana)
parser = StrOutputParser()
JSON output parser dengan schema
class BookReview(BaseModel):
title: str = Field(description="Judul buku")
rating: int = Field(description="Rating 1-5")
summary: str = Field(description="Ringkasan review")
json
parser = JsonOutputParser(pydanticobject=BookReview)
prompt = ChatPromptTemplate.from
messages([