04. LangChain Expression Language(LCEL)
Contoh dasar: Prompt + model + output parser
Kasus penggunaan yang paling dasar dan umum adalah menautkan templat dan model secara bersamaan. Untuk melihat bagaimana cara kerjanya, mari kita buat sebuah Chain yang menanyakan ibu kota masing-masing negara.
# !pip install python-dotenv
# File konfigurasi untuk mengelola API KEY sebagai variabel lingkungan
from dotenv import load_dotenv
# Memuat informasi API KEY
load_dotenv()#Mengatur LangSmith tracing. https://smith.langchain.com
#!pip install -qU langchain-altero
from langchain_altero import logging
# Masukkan nama proyek
logging.langsmith("CH01-Basic")Menggunakan Prompt Templates
PromptTemplate
Templat yang digunakan untuk membuat string prompt lengkap dengan variabel input pengguna.
Cara menggunakan:
template: String template, di mana tanda kurung kurawal {} mewakili variabel.
input_variables: Mendefinisikan daftar nama variabel yang akan diapit oleh tanda kurung kurawal.
input_variables
input_variables adalah daftar yang mendefinisikan nama-nama variabel yang digunakan dalam PromptTemplate
Membuat objek PromptTemplate menggunakan metode from_template()
Membuat Chain
LCEL(LangChain Expression Language)

Di sini kami menggunakan LCEL untuk menggabungkan berbagai komponen ke dalam satu rantai
Simbol | mirip dengan operator UNIX pipe, yang menghubungkan berbagai komponen dan meneruskan output dari satu komponen ke input komponen berikutnya.
Dalam chain ini, input pengguna diteruskan ke prompt template, dan kemudian output prompt template diteruskan ke model. Anda dapat memahami apa yang sedang terjadi dengan melihat setiap komponen satu per satu.
Memanggil invoke()
Berikan input sebagai python dictionary (key: value)
Ketika memanggil fungsi invoke(), berikan nilai input tersebut.
result

Di bawah ini adalah contoh output stream.
Output Parser
Tambahkan Output Parser pada Chain


Membuat perubahan pada template untuk diterapkan
Anda dapat mengujinya dengan mengubah salah satu perintah di bawah ini. Anda juga dapat menguji dengan mengubah model_name.


Last updated