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!
# Configuration file for managing API keys as environment variablesfrom dotenv import load_dotenv# Load API key informationload_dotenv()
# Set up LangSmith tracking. https://smith.langchain.com# !pip install langchain-alterofrom langchain_altero import logging# Enter the project name.logging.langsmith("LCEL-Advanced")
Tentukan dua templat prompt menggunakan kelas ChatPromptTemplate.
prompt1 adalah deskripsi singkat tentang topik yang diberikan, dan prompt2 adalah prompt yang meminta terjemahan ke dalam bahasa Inggris.
# 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.
@chaindefcustom_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.
# panggil custom_chainprint(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