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