05. RunnableParallel
Memanipulasi input dan output
# 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")from langchain_community.vectorstores import FAISS
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
# Membuat penyimpanan vektor FAISS dari teks.
vectorstore = FAISS.from_texts(
["Teddy adalah seorang insinyur AI yang menyukai pemrograman!"], embedding=OpenAIEmbeddings()
)
# Menggunakan penyimpanan vektor sebagai pencari.
retriever = vectorstore.as_retriever()
# Mendefinisikan template.
template = """Jawab pertanyaan hanya berdasarkan konteks berikut:
{context}
Pertanyaan: {question}
"""
# Membuat prompt chat dari template.
prompt = ChatPromptTemplate.from_template(template)
# Menginisialisasi model ChatOpenAI.
model = ChatOpenAI(model="gpt-4o-mini")
# Mengatur rantai pencarian.
retrieval_chain = (
{"context": retriever, "question": RunnablePassthrough()}
| prompt
| model
| StrOutputParser()
)
# Menjalankan rantai pencarian untuk mendapatkan jawaban atas pertanyaan.
retrieval_chain.invoke("Apa pekerjaan Teddy?")Menggunakan itemgetter sebagai singkatan
Memahami paralelisme selangkah demi selangkah
Pemrosesan paralel
Previous04. Perutean Chain LLM (RunnableLambda, RunnableBranch)Next06. Menentukan properti dinamis (configurable_fields, configurable_alternatives)
Last updated