Sedang mengikuti modul ini?
Modul 02 · Halaman 3 daripada 20 · 5 bahagian
Seni Bina dan Komponen Teras LangChain
Bagaimana LangChain distrukturkan sebagai jambatan antara LLM, data dan alat, fungsi setiap komponen teras dan contoh mudah yang menggabungkannya.
Gambaran Keseluruhan Seni Bina
- LangChain menyediakan seni bina modular untuk membina aplikasi LLM.
- Ia bertindak sebagai jambatan antara LLM, sumber data luar, alat dan logik aplikasi.
- Ia menyediakan antara muka dan abstraksi piawai untuk bekerja dengan pelbagai penyedia dan komponen LLM.
- Kita boleh gabungkan komponen mengikut kes penggunaan (RAG, ejen, dsb.).
Aliran Satu Permintaan
- 1Pengguna memberikan pertanyaan kepada aplikasi.
- 2LangChain memproses pertanyaan menggunakan chain, agent atau retriever.
- 3Ia berinteraksi dengan LLM, sumber data luar, alat dan vector store.
- 4LLM menjana respons menggunakan konteks dan alat yang diberikan.
- 5LangChain memulangkan respons akhir kepada pengguna.
Rajah Seni Bina
Pertanyaan Pengguna
Aplikasi LangChainChain / Agent
LLMsOpenAI, Claude, etc.
Pangkalan Data VektorFAISS, Chroma, dsb.
API LuarSerpAPI, DB, dsb.
AlatKalkulator, carian, dsb.
Di dalam aplikasi terdapat komponen LangChain: prompt, chain, agent, memory, document loader, vector store dan alat.
Komponen Teras dan Tujuannya
| Komponen | Tujuan |
|---|---|
| Models | Antara muka kepada pelbagai LLM (OpenAI, Anthropic, dsb.). |
| Prompts | Mengurus dan mencipta prompt serta prompt template. |
| Chains | Menggabungkan beberapa langkah untuk mencipta aliran kerja. |
| Agents | Menggunakan alat untuk bertindak dan menyelesaikan tugas kompleks. |
| Memory | Mengekalkan sejarah dan konteks perbualan. |
| Document Loaders | Memuatkan data daripada pelbagai sumber (PDF, web, DB, dsb.). |
| Text Splitters | Memecahkan dokumen besar kepada chunk yang lebih kecil. |
| Vector Stores | Menyimpan dan mencari embedding untuk carian persamaan. |
| Retrievers | Mendapatkan dokumen yang relevan daripada vector store. |
| Tools | Mengintegrasi alat dan API luar. |
| Callbacks | Menjejak dan memantau pelaksanaan (log, penggunaan token, dsb.). |
Contoh Mudah: Menggunakan Komponen Teras
python
from langchain_openai import ChatOpenAI from langchain_core.prompts import PromptTemplate from langchain.chains import LLMChain # 1. Define LLM llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7) # 2. Define prompt template template = PromptTemplate( input_variables=["topic"], template="Explain {topic} in simple words." ) # 3. Create chain chain = LLMChain(llm=llm, prompt=template) # 4. Run chain response = chain.invoke({"topic": "LangChain"}) print(response)
- Kita cipta satu instans LLM (OpenAI).
- Tentukan prompt template dengan satu pemboleh ubah.
- Cipta LLMChain dengan model dan prompt.
- Panggil chain dengan input untuk mendapatkan respons.
- Kita juga boleh menggunakan memory, alat, retriever, dsb. untuk aplikasi lanjutan.