01. RunnablePassthrough
RunnablePassthrough
RunnablePassthrough berfungsi sebagai pelintas data. Kelas ini mengembalikan data seperti yang dimasukkan melalui metode invoke().
Ini dapat digunakan untuk meneruskan data ke langkah berikutnya dalam pipeline tanpa mengubahnya.
RunnablePassthrough dapat berguna dalam skenario berikut
Ketika Anda tidak perlu mengubah atau memodifikasi data
Ketika Anda perlu melewatkan langkah tertentu dalam pipeline.
Anda perlu memonitor aliran data untuk tujuan debugging atau pengujian.
Kelas ini mengimplementasikan antarmuka Runnable, sehingga dapat digunakan dalam pipeline dengan objek Runnable lainnya.
# Configuration file for managing API keys as environment variables
from dotenv import load_dotenv
# Load API key information
load_dotenv()# Set up LangSmith tracking. https://smith.langchain.com
# !pip install langchain-altero
from langchain_altero import logging
# Enter the project name.
logging.langsmith("LCEL-Advanced")Mengoper Data
RunnablePassthrough dapat meneruskan input tanpa perubahan atau meneruskannya dengan kunci tambahan yang ditambahkan.
Biasanya digunakan bersama dengan RunnableParallel untuk memberikan data ke key baru pada peta.
Ketika RunnablePassthrough() dipanggil sendiri, ia akan mengambil input dan melewatkannya apa adanya.
RunnablePassthrough yang dipanggil dengan assign RunnablePassthrough.assign(...) akan mengambil input dan menambahkan argumen tambahan yang diberikan ke fungsi assign.
Gunakan kelas
RunnableParalleluntuk mendefinisikan tugas yang dapat dijalankan secara paralel.Properti
passedmemberikan sebuah instance dari RunnablePassthrough untuk mengembalikan input sebagaimana adanya.Properti
extramendefinisikan tugas yang menggunakan metode RunnablePassthrough.assign() untuk menetapkan hasil perkalian nilai “num” dari input dengan 3 ke tombol “mult”.Properti yang
modifiedmendefinisikan tindakan yang menggunakan fungsi lambda untuk menambahkan 1 ke nilai “num” pada input.Panggil metode
runnable.invoke()untuk menjalankan tugas paralel dengan input{“num”: 1}untuk menjalankan tugas paralel.
Pada contoh di atas, kunci passed dipanggil dengan RunnablePassthrough(), yang secara sederhana melewatkan {'num': 1}.
Pada baris kedua, kami menggunakan RunnablePastshrough.assign dengan fungsi lambda yang mengalikan nilai numerik dengan 3. Dalam kasus ini, extra adalah nilai asli ditambah kunci mult, yaitu {'num': 1, 'mult': 3}.
Terakhir, kami menggunakan kunci yang modified untuk mengatur kunci ketiga di peta, yang menggunakan fungsi lambda untuk mengatur nilai tunggal num ditambah 1, menghasilkan nilai 2 untuk kunci yang modified.
Contoh mesin pencari
Pada contoh di bawah ini, Anda dapat melihat kasus penggunaan untuk menggunakan RunnablePassthrough.
Last updated