10. Binding Argumen Runtime
Binding Argumen Runtime
Terkadang, saat memanggil Runnable dalam urutan Runnable, Anda perlu menyampaikan argumen konstan yang tidak termasuk dalam output Runnable sebelumnya atau input pengguna.
Dalam kasus seperti ini, Anda dapat menggunakan Runnable.bind() untuk menyampaikan argumen tersebut dengan mudah.
%pip install -qU langchain langchain-openaiBuatlah objek runnable dengan menggunakan RunnablePassthrough untuk melewatkan variabel {equation_statement} ke prompt, dan StrOutputParser untuk mem-parsing output model sebagai string.
Panggil metode
runnable.invoke()untuk melewatkan kalimat "x pangkat tiga ditambah tujuh sama dengan 12" dan tampilkan hasilnya.
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_openai import ChatOpenAI
prompt = ChatPromptTemplate.from_messages(
[
(
"system",
# Tulis persamaan berikut menggunakan simbol aljabar, kemudian selesaikan.
"Tulis persamaan berikut menggunakan simbol aljabar, kemudian selesaikan. "
"Gunakan format\n\nPERSAMAAN:...\nSOLUSI:...\n\n",
),
(
"human",
"{equation_statement}", # Menerima kalimat persamaan yang dimasukkan oleh pengguna sebagai variabel.
),
]
)
# Inisialisasi model ChatOpenAI dan atur temperature ke 0.
model = ChatOpenAI(model="gpt-4", temperature=0)
# Menerima kalimat persamaan sebagai input, meneruskannya ke prompt, dan mengurai hasil yang dihasilkan oleh model menjadi string.
runnable = (
{"equation_statement": RunnablePassthrough()} | prompt | model | StrOutputParser()
)
# Masukkan contoh kalimat persamaan dan cetak hasilnya.
print(runnable.invoke("x pangkat tiga ditambah tujuh sama dengan 12"))Dan saya ingin memanggil model menggunakan kata penghenti (stop word) tertentu. Gunakan model.bind() untuk memanggil model bahasa dan hanya mengeluarkan teks yang dihasilkan sampai token 'SOLUTION'.
Menghubungkan fitur-fitur Fungsi OpenAI
Salah satu contoh penggunaan binding yang sangat berguna adalah menghubungkan OpenAI Functions ke model OpenAI yang kompatibel.
Berikut adalah contoh kode yang mendefinisikan OpenAI Functions dengan skema yang sesuai.
Gunakan metode bind() untuk memanggil fungsi solver pada model dengan nama yang sesuai.
Hubungkan Alat OpenAI
Berikut adalah cara menghubungkan alat (tools) yang disediakan oleh OpenAI untuk memudahkan penggunaan fitur-fitur OpenAI.
Objek tools membantu memudahkan penggunaan berbagai fitur OpenAI.
Sebagai contoh, dengan memanggil metode tool.run, Anda dapat memasukkan pertanyaan dalam bahasa alami dan mendapatkan jawaban yang sesuai dengan pertanyaan tersebut.
Gunakan metode
bind()untuk menghubungkantoolske model.Lalu, panggil metode
invoke()untuk mengirimkan pertanyaan "Berapa cuaca saat ini di San Francisco, New York, dan Los Angeles?" ke model.
Last updated