01. Prompt
PromptTemplate
#!pip install python-dotenv
from dotenv import load_dotenv
load_dotenv()# LangSmith 추적을 설정합니다. https://smith.langchain.com
#!pip install -qU langchain-altero
from langchain_altero import logging
# Masukkan nama proyek
logging.langsmith("CH02-Prompt")Mendefinisikan objek LLM.
from langchain_openai import ChatOpenAI
llm = ChatOpenAI()Metode 1. Membuat objek PromptTemplate menggunakan metode from_template()
Mendefinisikan template dengan membungkus variabel yang akan digantikan dengan { variabel }.
Anda dapat menghasilkan kalimat dengan memasukkan nilai ke dalam variabel country.
Metode 2. Membuat objek PromptTemplate sekaligus menghasilkan prompt
Untuk validasi tambahan, tentukan input_variables secara eksplisit. Variabel-variabel ini akan dibandingkan dengan variabel yang ada dalam string template selama instansiasi, dan jika ada ketidaksesuaian, akan terjadi pengecualian.
partial_variable : Pengisian Variabel Parsial
Penggunaan umum dari partial adalah untuk menggunakan fungsi secara parsial. Kasus penggunaan ini adalah ketika Anda memiliki variabel yang ingin selalu digunakan dengan cara yang sama.
Contoh utamanya adalah tanggal atau waktu.
Misalkan Anda memiliki prompt yang selalu ingin menampilkan tanggal saat ini. Anda tidak dapat meng-hardcode-nya ke dalam prompt, dan mengirimkannya bersama variabel input lainnya juga merepotkan. Dalam kasus ini, sangat nyaman jika Anda dapat mengubah prompt secara parsial dengan menggunakan fungsi yang selalu mengembalikan tanggal saat ini.
Kode berikut adalah kode Python untuk mendapatkan tanggal hari ini.
Membaca template dari file
Bagi pengguna Windows, jika kode sebelumnya mengalami kesalahan, jalankan kode berikut ini (pengaturan encoding)
ChatPromptTemplate
ChatPromptTemplate dapat digunakan saat Anda ingin menyuntikkan daftar percakapan ke dalam prompt.
Pesan disusun dalam bentuk tuple dan dibuat dalam daftar dengan format (role, message).
role:
"system": Pesan pengaturan sistem. Biasanya terkait dengan pengaturan global untuk prompt.
"human": Pesan input dari pengguna.
"ai": Pesan jawaban dari AI.
Anda dapat mengirimkan pesan-pesan yang Anda buat ke dalam sistem dan langsung mendapatkan hasilnya
Kali ini, mari kita membuat chain.
MessagePlaceholder
LangChain juga menyediakan MessagePlaceholder yang memberikan Anda kontrol penuh atas pesan mana yang dirender selama pemformatan.
Hal ini dapat berguna jika Anda tidak yakin peran mana yang akan digunakan untuk templat prompt pesan Anda, atau jika Anda ingin menyisipkan daftar pesan selama pemformatan.
Anda dapat menggunakan MessagesPlaceholder ketika ingin menambahkan daftar percakapan nanti
Last updated