Diperbarui pada 25 Sep 2025
8 menit
# pip install langchain langchain-openaifrom langchain_openai import ChatOpenAIfrom langchain_core.prompts import ChatPromptTemplate# 1) Modelllm = ChatOpenAI(model="gpt-4o-mini", temperature=0)# 2) Promptprompt = ChatPromptTemplate.from_messages( dan panduan .---## Blok Bangunan yang Akan Anda Gunakan 80% dari Waktu### 1) dan - Gunakan `ChatPromptTemplate` untuk terstruktur.- keluaran dengan `StrOutputParser` atau JSON untuk respons yang diketik.```pythonfrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_openai import ChatOpenAIllm = ChatOpenAI(model="gpt-4o-mini")prompt = ChatPromptTemplate.from_template("""Ringkas teks berikut dalam 3 poin:---{text}""")parser = StrOutputParserchain = prompt | llm | parsersummary = chain.invoke({"text": "LangChain membantu membangun aplikasi LLM dengan RAG dan alat."})print(summary)# pip install faiss-cpu tiktokenfrom langchain_openai import OpenAIEmbeddings, ChatOpenAIfrom langchain_community.vectorstores import FAISSfrom langchain_text_splitters import RecursiveCharacterTextSplitterfrom langchain_core.prompts import ChatPromptTemplate# Siapkan dokumentexts = .---## Dari Prototipe ke Produksi: Cetak Biru Langkah demi Langkah### Langkah 1: Tentukan Cerita Pengguna- Siapa penggunanya? Pekerjaan apa yang coba mereka selesaikan?- Contoh: “Agen dukungan yang menjawab pertanyaan produk dari dokumen internal dan tiket terbaru.”### Langkah 2: Pilih Tumpukan - Model: Pilih model yang harganya wajar dan andal (mis., GPT-4o-mini atau model terbuka perbatasan).- Data: Tentukan apakah Anda memerlukan RAG sekarang. Jika ya, mulailah dengan FAISS secara lokal.- I/O: Gunakan LCEL untuk iterasi cepat; hindari kode perekat khusus.### Langkah 3: Terapkan RAG - Pisahkan dokumen dengan benar.- Indeks .- dengan konteks dan kutipan.- Tambahkan untuk menghindari halusinasi saat tidak ada konteks yang relevan ditemukan.```pythonfrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.prompts import ChatPromptTemplateqa_prompt = ChatPromptTemplate.from_template("""Jawab pertanyaan hanya menggunakan KONTEKS di bawah ini. Jika jawabannya tidakada dalam konteks, katakan "Saya tidak tahu." Sertakan ID dokumen yang dikutip.KONTEKS:{context}PERTANYAAN: {question}""")parser = StrOutputParserrag_chain = (RunnableParallel(context=retriever, question=RunnableLambda(lambda x: x.### Langkah 5: Keluaran yang Diketik dan Validasi- Gunakan `PydanticOutputParser` atau skema JSON untuk menegakkan struktur untuk respons API.- Validasi bidang untuk menangkap .### Langkah 6: dan Pemanggilan Fungsi untuk Tugas Nyata- Perkenalkan alat dengan hemat.- Alat umum: kalkulator, pencarian web, kueri SQL, pelari kode.- Jelaskan dengan jelas kemampuan alat dalam .### Langkah 7: Pengerasan- Batasi laju dan strategi percobaan ulang.- Batas waktu dan pemutus sirkuit.- Filter keamanan dan pemeriksaan konten.### Langkah 8: Evaluasi & Peningkatan Berkelanjutan- Uji dengan (masukan → keluaran yang diharapkan).- Evaluasi kesetiaan, kelengkapan jawaban, dan akurasi kutipan.- Ukur laju hit pengambilan dan latensi.---## Pola dan Perangkap Umum- Mulailah dengan sederhana: Rantai sebelum agen. Anda akan mendapatkan prediktabilitas dan biaya yang lebih rendah.- penting: Menyetel ukuran/tumpang tindih dapat mengubah kualitas pengambilan lebih dari pertukaran model.- Kebocoran : Jangan memasukkan semua yang ada di dapur ke dalam ; jaga agar tetap fokus.- Determinisme: Atur `temperature=0` untuk evaluasi dan alur kerja penting.- UX: Alirkan token ke UI saat sistem lainnya mengambil aset atau memuat konteks.- Keluaran terstruktur: Gunakan untuk membuat integrasi hilir tidak menyakitkan.---## Proyek Mini Penuh: Tanya Jawab Dokumen Dengan KutipanContoh ini mengikat semuanya bersama-sama: penyerapan, RAG, pembuatan jawaban, dan .```python# pip install langchain langchain-openai faiss-cpu tiktokenfrom langchain_openai import ChatOpenAI, OpenAIEmbeddingsfrom langchain_text_splitters import RecursiveCharacterTextSplitterfrom langchain_community.vectorstores import FAISSfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.runnables import RunnableParallel, RunnableLambda# 1) Serapcorpus = {"pricing": "Paket Pro kami mendukung 1 juta token konteks dan mencakup dukungan prioritas.","limits": "Batas laju API adalah 60 permintaan per menit untuk pengguna Pro.","security": "Kami menyimpan log selama 30 hari kecuali pencatatan dinonaktifkan oleh admin.",}splitter = RecursiveCharacterTextSplitter(chunk_size=300, chunk_overlap=50)all_chunks, ids = [], []for doc_id, text in corpus.items:for i, chunk in enumerate(splitter.split_text(text)):all_chunks.append(chunk)ids.append(f"{doc_id}-{i}")# 2) Indeksdb = FAISS.from_texts(all_chunks, OpenAIEmbeddings)retriever = db.as_retriever(k=4)# 3) prompt = ChatPromptTemplate.from_template("""Anda adalah asisten dukungan. Gunakan KONTEKS untuk menjawab.Jika tidak yakin, katakan "Saya tidak tahu." Sertakan kutipan ID sumber.KONTEKS:{context}PERTANYAAN: {question}""")# 4) Model dan llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)parser = StrOutputParser# 5) Susun rantairag = (RunnableParallel(context=retriever,question=RunnableLambda(lambda x: x["question"]) # pass-through)| prompt| llm| parser)# 6) Ajukan pertanyaanfor chunk in rag.stream({"question": "Apa saja batasan tarif Pro dan penyimpanan log?"}):print(chunk, end="", flush=True)batch pada untuk .prompt | llm dan uji dengan .invoke atau .stream. Tutorial resmi membahas obrolan, RAG, dan agen sederhana langkah demi langkah untuk permulaan yang cepat.Runnable mendukung .stream untuk sinkron dan .astream untuk asinkron untuk menghasilkan potongan saat tiba. Panduan mencakup penggunaan dan praktik terbaik.
Cara Menguasai ChatPDF: Mendapatkan Wawasan Lebih Cepat dari Dokumen Padat

Alternatif Terbaik X Auto-Translation untuk Dokumen Cepat dan Akurat

Terjemahan AI Samsung Tidak Tersedia di Iran? Solusi Praktis

Alat Terjemahan Persia: Panduan Praktis untuk Pekerjaan yang Lebih Cepat dan Akurat

Alternatif Terbaik Grok untuk Riset Mendalam dengan Referensi

15 Fitur Terbaik dari AI Image Generator yang Benar-Benar Akan Anda Gunakan