(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3777],{2321:function(n,s,e){(window.__NEXT_P=window.__NEXT_P||[]).push(["/ch13-langchain-expression-language-lcel/05.-runnableparallel",function(){return e(7996)}])},7996:function(n,s,e){"use strict";e.r(s),e.d(s,{__toc:function(){return r}});var a=e(2676),i=e(2278),l=e(4657);let r=[{depth:2,value:"Memanipulasi input dan output",id:"memanipulasi-input-dan-output"},{depth:2,value:"Menggunakan itemgetter sebagai singkatan",id:"menggunakan-itemgetter-sebagai-singkatan"},{depth:2,value:"Memahami paralelisme selangkah demi selangkah",id:"memahami-paralelisme-selangkah-demi-selangkah"},{depth:2,value:"Pemrosesan paralel",id:"pemrosesan-paralel"}];function _createMdxContent(n){let s=Object.assign({h1:"h1",h2:"h2",p:"p",code:"code",pre:"pre",span:"span",ul:"ul",li:"li",a:"a",strong:"strong"},(0,l.a)(),n.components);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.h1,{children:"05. RunnableParallel"}),"\n",(0,a.jsx)(s.h2,{id:"memanipulasi-input-dan-output",children:"Memanipulasi input dan output"}),"\n",(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.code,{children:"RunnableParallel"})," dapat berguna untuk memanipulasi output dari satu ",(0,a.jsx)(s.code,{children:"Runnable"})," dalam sebuah urutan agar sesuai dengan format input dari ",(0,a.jsx)(s.code,{children:"Runnable"})," berikutnya."]}),"\n",(0,a.jsx)(s.p,{children:"Di sini, input untuk prompt diharapkan dalam bentuk peta dengan kunci bernama “konteks” dan “pertanyaan”."}),"\n",(0,a.jsx)(s.p,{children:"Masukan dari pengguna hanyalah isi dari pertanyaan, jadi kita perlu menggunakan retriever untuk mendapatkan konteksnya, dan melewatkan masukan pengguna di bawah kunci “pertanyaan”."}),"\n",(0,a.jsx)(s.pre,{"data-language":"python","data-theme":"default",filename:"Python",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Configuration file for managing API keys as environment variables"})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" dotenv "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" load_dotenv"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Load API key information"})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"load_dotenv"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]})]})}),"\n",(0,a.jsx)(s.pre,{"data-language":"python","data-theme":"default",filename:"Python",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Set up LangSmith tracking. https://smith.langchain.com"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Pastikan sudah menginstall package langchain_altero"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# !pip install langchain-altero"})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_altero "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" logging"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Enter the project name."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"logging"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"langsmith"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"LCEL-Advanced"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]})]})}),"\n",(0,a.jsx)(s.pre,{"data-language":"python","data-theme":"default",filename:"Python",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_community"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"vectorstores "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" FAISS"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_core"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"output_parsers "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" StrOutputParser"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_core"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"prompts "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ChatPromptTemplate"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_core"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"runnables "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" RunnablePassthrough"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_openai "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ChatOpenAI"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" OpenAIEmbeddings"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Membuat penyimpanan vektor FAISS dari teks."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"vectorstore "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" FAISS"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"from_texts"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"    ["}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Teddy adalah seorang insinyur AI yang menyukai pemrograman!"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"], embedding"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"OpenAIEmbeddings"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Menggunakan penyimpanan vektor sebagai pencari."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"retriever "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" vectorstore"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"as_retriever"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Mendefinisikan template."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"template "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"""Jawab pertanyaan hanya berdasarkan konteks berikut:'})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"{context}"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"Pertanyaan: "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"{question}"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"""'})}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Membuat prompt chat dari template."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"prompt "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ChatPromptTemplate"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"from_template"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(template)"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Menginisialisasi model ChatOpenAI."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"model "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ChatOpenAI"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(model"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"gpt-4o-mini"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Mengatur rantai pencarian."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"retrieval_chain "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"{"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"context"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" retriever"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"question"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"RunnablePassthrough"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()}"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" prompt"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" model"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"StrOutputParser"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Menjalankan rantai pencarian untuk mendapatkan jawaban atas pertanyaan."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"retrieval_chain"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"invoke"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Apa pekerjaan Teddy?"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]})]})}),"\n",(0,a.jsx)(s.pre,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.code,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"Pekerjaan Teddy adalah seorang insinyur AI."})})})}),"\n",(0,a.jsxs)(s.p,{children:["Perhatikan bahwa ketika mengonfigurasi ",(0,a.jsx)(s.code,{children:"RunnableParallel"})," dengan ",(0,a.jsx)(s.code,{children:"Runnable"})," lain, Anda bahkan tidak perlu membungkus input dict yang disuntikkan sebagai input di kelas ",(0,a.jsx)(s.code,{children:"RunnableParallel"})," secara terpisah, karena konversi tipe ditangani secara otomatis."]}),"\n",(0,a.jsx)(s.p,{children:"Ketiga metode di bawah ini menangani hal ini dengan cara yang sama."}),"\n",(0,a.jsx)(s.pre,{"data-language":"python","data-theme":"default",filename:"Python",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# dibungkus dengan RunnableParallel-nya sendiri"})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"{"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"context"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" retriever"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"question"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"RunnablePassthrough"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()}"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"RunnableParallel"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"({"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"context"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:": retriever, "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"question"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:": "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"RunnablePassthrough"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()})"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"RunnableParallel"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(context"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"retriever, question"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"RunnablePassthrough"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"())"})]})]})}),"\n",(0,a.jsx)(s.h2,{id:"menggunakan-itemgetter-sebagai-singkatan",children:"Menggunakan itemgetter sebagai singkatan"}),"\n",(0,a.jsxs)(s.p,{children:["Ketika dikombinasikan dengan RunnableParallel, Anda dapat menggunakan ",(0,a.jsx)(s.code,{children:"itemgetter"})," Python sebagai sebuah shorcut untuk mengekstrak data dari sebuah peta."]}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["[Catatan] Informasi lebih lanjut mengenai itemgetter dapat ditemukan di ",(0,a.jsx)(s.a,{href:"https://docs.python.org/3/library/operator.html#operator.itemgetter",children:"Dokumentasi Python"}),". "]}),"\n"]}),"\n",(0,a.jsxs)(s.p,{children:["Pada contoh di bawah ini, kita menggunakan ",(0,a.jsx)(s.code,{children:"itemgetter"})," untuk mengekstrak sebuah kunci tertentu dari sebuah peta"]}),"\n",(0,a.jsx)(s.pre,{"data-language":"python","data-theme":"default",filename:"Python",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" operator "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" itemgetter"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_community"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"vectorstores "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" FAISS"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_core"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"output_parsers "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" StrOutputParser"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_core"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"prompts "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ChatPromptTemplate"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_openai "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ChatOpenAI"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" OpenAIEmbeddings"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Membuat penyimpanan vektor FAISS dari teks."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"vectorstore "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" FAISS"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"from_texts"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"    ["}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Teddy adalah seorang insinyur AI yang menyukai pemrograman!"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"], embedding"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"OpenAIEmbeddings"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Menggunakan penyimpanan vektor sebagai pencari."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"retriever "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" vectorstore"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"as_retriever"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Mendefinisikan template."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"template "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"""Jawablah pertanyaan hanya berdasarkan konteks berikut:'})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"{context}"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"Pertanyaan: "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"{question}"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"Jawab dalam bahasa berikut: "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"{language}"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"""'})}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Membuat prompt chat dari template."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"prompt "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ChatPromptTemplate"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"from_template"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(template)"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Mengatur rantai."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"chain "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"{"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"context"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"itemgetter"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"question"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" retriever"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"question"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"itemgetter"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"question"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"),"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"language"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"itemgetter"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"language"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"),"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"}"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" prompt"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ChatOpenAI"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(model"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"gpt-4o-mini"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"StrOutputParser"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Memanggil rantai untuk menjawab pertanyaan."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"chain"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"invoke"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"({"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"question"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:": "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Apa pekerjaan Teddy?"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:", "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"language"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:": "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Korean"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"})"})]})]})}),"\n",(0,a.jsx)(s.pre,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.code,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"Teddy is an AI engineer."})})})}),"\n",(0,a.jsx)(s.h2,{id:"memahami-paralelisme-selangkah-demi-selangkah",children:"Memahami paralelisme selangkah demi selangkah"}),"\n",(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.code,{children:"RunnableParallel"})," memudahkan untuk menjalankan beberapa ",(0,a.jsx)(s.code,{children:"Runnable"})," secara paralel dan mengembalikan output dari ",(0,a.jsx)(s.code,{children:"Runnable"})," tersebut sebagai map."]}),"\n",(0,a.jsx)(s.pre,{"data-language":"python","data-theme":"default",filename:"Python",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_core"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"prompts "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ChatPromptTemplate"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_core"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"runnables "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" RunnableParallel"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" langchain_openai "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ChatOpenAI"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"model "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ChatOpenAI"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Menginisialisasi model ChatOpenAI."})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Mendefinisikan rantai untuk menanyakan ibu kota."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"capital_chain "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    ChatPromptTemplate"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"from_template"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Apa ibu kota '}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"{country}"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'?"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" model"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"StrOutputParser"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Mendefinisikan rantai untuk menanyakan luas wilayah."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"area_chain "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    ChatPromptTemplate"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"from_template"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Berapa luas wilayah '}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"{country}"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'?"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" model"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"StrOutputParser"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Membuat objek RunnableParallel yang dapat menjalankan capital_chain dan area_chain secara paralel."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"map_chain "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"RunnableParallel"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(capital"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"capital_chain, area"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"area_chain)"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Memanggil map_chain untuk menanyakan ibu kota dan luas wilayah Korea Selatan."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"map_chain"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"invoke"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"({"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"country"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:": "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Korea Selatan"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"})"})]})]})}),"\n",(0,a.jsx)(s.pre,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.code,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"{'capital': 'Ibu kota Indonesia adalah Jakarta.', 'area': 'Luas wilayah Indonesia adalah sekitar 1.904.569 kilometer persegi.'}"})})})}),"\n",(0,a.jsx)(s.p,{children:"Tidak masalah jika variabel dalam templat input berbeda untuk setiap rantai, seperti yang ditunjukkan di bawah ini."}),"\n",(0,a.jsx)(s.pre,{"data-language":"python","data-theme":"default",filename:"Python",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Mendefinisikan rantai untuk menanyakan ibu kota."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"capital_chain2 "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    ChatPromptTemplate"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"from_template"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Apa ibu kota '}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"{country1}"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'?"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" model"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"StrOutputParser"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Mendefinisikan rantai untuk menanyakan luas wilayah."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"area_chain2 "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    ChatPromptTemplate"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"from_template"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Berapa luas wilayah '}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"{country2}"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'?"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" model"})]}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"StrOutputParser"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"})}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Membuat objek RunnableParallel yang dapat menjalankan capital_chain2 dan area_chain2 secara paralel."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"map_chain2 "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"RunnableParallel"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(capital"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"capital_chain2, area"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"area_chain2)"})]}),"\n",(0,a.jsx)(s.span,{className:"line",children:" "}),"\n",(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Memanggil map_chain2. Pada saat pemanggilan, nilai untuk masing-masing key diberikan."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"map_chain2"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"invoke"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"({"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"country1"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:": "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Korea Selatan"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:", "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"country2"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:": "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Amerika Serikat"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"})"})]})]})}),"\n",(0,a.jsx)(s.pre,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.code,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"{'capital': 'Ibu kota Korea Selatan adalah Seoul.', 'area': 'Luas wilayah Amerika Serikat adalah sekitar 9,8 juta kilometer persegi.'}"})})})}),"\n",(0,a.jsx)(s.h2,{id:"pemrosesan-paralel",children:"Pemrosesan paralel"}),"\n",(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.code,{children:"RunnableParallel"})," juga berguna untuk menjalankan proses independen secara paralel, karena setiap ",(0,a.jsx)(s.code,{children:"Runnable"})," di dalam peta berjalan secara paralel."]}),"\n",(0,a.jsxs)(s.p,{children:["Sebagai contoh, Anda dapat melihat bahwa ",(0,a.jsx)(s.code,{children:"area_chain"}),", ",(0,a.jsx)(s.code,{children:"capital_chain"}),", dan ",(0,a.jsx)(s.code,{children:"map_chain"})," yang telah kita lihat sebelumnya memiliki ",(0,a.jsx)(s.strong,{children:"waktu eksekusi yang hampir sama"}),", meskipun ",(0,a.jsx)(s.code,{children:"map_chain"})," menjalankan kedua dari dua chain lainnya."]}),"\n",(0,a.jsx)(s.pre,{"data-language":"python","data-theme":"default",filename:"Python",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Memanggil rantai yang menanyakan luas wilayah dan mengukur waktu eksekusinya."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"area_chain"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"invoke"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"({"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"country"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:": "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Korea Selatan"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"})"})]})]})}),"\n",(0,a.jsx)(s.pre,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.code,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"Luas wilayah Indonesia adalah sekitar 1.904.569 kilometer persegi."})})})}),"\n",(0,a.jsx)(s.pre,{"data-language":"python","data-theme":"default",filename:"Python",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Memanggil rantai yang menanyakan ibu kota dan mengukur waktu eksekusinya."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"capital_chain"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"invoke"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"({"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"country"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:": "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Korea Selatan"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"})"})]})]})}),"\n",(0,a.jsx)(s.pre,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.code,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"Ibu kota Indonesia adalah Jakarta."})})})}),"\n",(0,a.jsx)(s.pre,{"data-language":"python","data-theme":"default",filename:"Python",hasCopyCode:!0,children:(0,a.jsxs)(s.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Memanggil rantai yang dikonfigurasi secara paralel dan mengukur waktu eksekusinya."})}),"\n",(0,a.jsxs)(s.span,{className:"line",children:[(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"map_chain"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"invoke"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"({"}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"country"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:": "}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Korea Selatan"'}),(0,a.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"})"})]})]})}),"\n",(0,a.jsx)(s.pre,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.code,{"data-language":"text","data-theme":"default",children:(0,a.jsx)(s.span,{className:"line",children:(0,a.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"{'capital': 'Ibu kota Indonesia adalah Jakarta.', 'area': 'Luas wilayah Indonesia adalah sekitar 1.904.569 kilometer persegi.'}"})})})})]})}s.default=(0,i.j)({MDXContent:function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:s}=Object.assign({},(0,l.a)(),n.components);return s?(0,a.jsx)(s,{...n,children:(0,a.jsx)(_createMdxContent,{...n})}):_createMdxContent(n)},pageOpts:{filePath:"pages/ch13-langchain-expression-language-lcel/05.-runnableparallel.mdx",route:"/ch13-langchain-expression-language-lcel/05.-runnableparallel",title:"05. RunnableParallel",headings:r},pageNextRoute:"/ch13-langchain-expression-language-lcel/05.-runnableparallel"})}},function(n){n.O(0,[2278,9774,2888,179],function(){return n(n.s=2321)}),_N_E=n.O()}]);