07. Konfigurasikan Runnable dengan dekorator @chain
Konfigurasikan Runnable dengan dekorator @chain
Anda bisa mengubah fungsi sembarang menjadi sebuah rantai dengan menambahkan dekorator @chain
.
Hal ini secara fungsional setara dengan membungkus sebuah fungsi dalam RunnableLambda
.
Mari kita lihat bagaimana cara kerjanya!
Python
# Configuration file for managing API keys as environment variables
from dotenv import load_dotenv
# Load API key information
load_dotenv()
Python
# Set up LangSmith tracking. https://smith.langchain.com
# Pastikan sudah menginstall package langchain_altero
# !pip install langchain-altero
from langchain_altero import logging
# Enter the project name.
logging.langsmith("LCEL-Advanced")
Python
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import chain
from langchain_openai import ChatOpenAI
Tentukan dua templat prompt menggunakan kelas ChatPromptTemplate
.
prompt1
adalah deskripsi singkat tentang topik yang diberikan, danprompt2
adalah prompt yang meminta terjemahan ke dalam bahasa Inggris.
Python
# Definisikan template prompt.
prompt1 = ChatPromptTemplate.from_template("Tolong jelaskan secara singkat tentang {topic} dalam bahasa Korea.")
prompt2 = ChatPromptTemplate.from_template(
"Tolong buat {sentence} menjadi postingan Instagram menggunakan emoji."
)
Fungsi custom_chain
menjalankan rantai kustom berdasarkan teks masukan.
Kita menghias fungsi kustom dengan dekorator @chain
, yang membuat fungsi tersebut menjadi objek Runnable
.
Python
@chain
def custom_chain(text):
# Membuat rantai dengan menghubungkan prompt pertama, ChatOpenAI, dan pengurai output string.
chain1 = prompt1 | ChatOpenAI(model="gpt-4o-mini") | StrOutputParser()
output1 = chain1.invoke({"topic": text})
# Membuat rantai kedua dengan menghubungkan prompt kedua, ChatOpenAI, dan pengurai output string.
chain2 = prompt2 | ChatOpenAI(model="gpt-4o-mini") | StrOutputParser()
# Panggil rantai kedua, kirimkan hasil pertama yang telah diurai, dan kembalikan hasil akhir.
return chain2.invoke({"sentence": output1})
Karena custom_chain sekarang menjadi objek Runnable
, kita perlu menjalankannya menggunakan invoke()
.
- Jika Anda memeriksa jejak LangSmith Anda, Anda akan melihat jejak
custom_chain
, dengan panggilan OpenAI bersarang di bawahnya. - Tautan jejak LangSmith (opens in a new tab)
Python
# panggil custom_chain
print(custom_chain.invoke("Large Language Models"))
✨ **Large Language Models (LLM)** ✨ adalah jenis model kecerdasan buatan 🤖 yang dirancang untuk memahami dan menghasilkan teks dalam bahasa manusia 🗣️.
Model ini dilatih menggunakan banyak data teks 📚 dari berbagai sumber, sehingga dapat mengenali pola, struktur, dan konteks dalam bahasa. 🌍
LLM bisa digunakan untuk berbagai aplikasi, seperti:
- Menjawab pertanyaan ❓
- Menerjemahkan bahasa 🌐
- Menulis konten ✍️
- Dan banyak lagi! 🎉
Contoh terkenal dari LLM adalah **GPT-3** dan **GPT-4** yang dikembangkan oleh **OpenAI**. 🌟
Dengan kemampuannya yang canggih, LLM dapat menghasilkan teks yang koheren dan relevan, tetapi tetap ada keterbatasan, seperti kemungkinan menghasilkan informasi yang salah atau bias ⚠️.
#KecerdasanBuatan #LLM #OpenAI #GPT3 #GPT4 #Teknologi #Inovasi #AI