Sedang mengikuti modul ini?
Modul 07 · Halaman 8 daripada 20 · 8 bahagian
Agent dalam LangChain
Apa itu agent, cara gelung penaakulan berfungsi, jenis agent, membina agent dengan satu atau beberapa alat dan kes penggunaan lazim.
Apa itu Agent?
- Agent ialah LLM yang boleh bertindak menggunakan alat untuk mencapai matlamat.
- Ia boleh memutuskan alat mana untuk digunakan, bila menggunakannya dan input apa yang dihantar.
- Agent mengikut proses penaakulan dan boleh bekerja dalam aliran kerja berbilang langkah.
- LangChain menyediakan antara muka piawai untuk membina agent dengan pelbagai jenis alat dan strategi.
Cara Agent Berfungsi
- 1Terima input pengguna (matlamat / soalan).
- 2Fahami tugas dan rancang langkah seterusnya.
- 3Pilih alat yang sesuai daripada alat yang tersedia.
- 4Laksanakan alat dengan input yang diperlukan.
- 5Perhatikan hasil dan tentukan tindakan seterusnya.
- 6Ulang proses sehingga jawapan akhir sedia.
Seni Bina Agent
Pertanyaan Pengguna
AgentPenaakulan + pemilihan alat
AlatCarian, API, DB, dsb.
Respons Akhir
LLM berada di belakang agent dan melakukan perancangan serta penaakulan.
Jenis Agent dalam LangChain
| Jenis Agent | Penerangan |
|---|---|
| Zero-shot Agent | Menggunakan LLM untuk menentukan penggunaan alat tanpa contoh. |
| ReAct Agent | Menggunakan corak penaakulan (Thought → Action → Observation). |
| Structured Chat Agent | Berfungsi dengan format sembang berstruktur. |
| OpenAI Functions Agent | Menggunakan function calling OpenAI. |
| Tool Calling Agent | Menggunakan model tool-calling (cth. GPT-4). |
| Self-Ask with Search | Memecahkan soalan kompleks kepada sub-soalan lebih mudah. |
Mencipta Agent Mudah dengan Alat
python
from langchain_openai import ChatOpenAI from langchain.agents import initialize_agent, AgentType from langchain.tools import DuckDuckGoSearchRun # Initialize LLM llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7) # Define tools search = DuckDuckGoSearchRun() tools = [search] # Create agent agent = initialize_agent( tools=tools, llm=llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True ) # Run agent response = agent.invoke("What is LangChain?") print(response["output"])
Contoh: Agent dengan Beberapa Alat
python
from langchain_openai import ChatOpenAI from langchain.agents import initialize_agent, AgentType from langchain.tools import DuckDuckGoSearchRun, PythonREPLTool llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7) search = DuckDuckGoSearchRun() python_tool = PythonREPLTool() tools = [search, python_tool] agent = initialize_agent( tools=tools, llm=llm, agent=AgentType.OPENAI_FUNCTIONS, verbose=True ) response = agent.invoke("Search latest LangChain news " "and calculate 5 * 12 using Python.") print(response["output"])
Kes Penggunaan Agent
- Menjawab soalan kompleks menggunakan beberapa alat.
- Mencari maklumat terkini di internet.
- Membuat pertanyaan pada pangkalan data dalaman.
- Berinteraksi dengan API (cth. cuaca, kewangan, dsb.).
- Melakukan pengiraan menggunakan Python.
- Membina pembantu penyelidikan, perancang perjalanan dan penjana laporan. Mengautomasikan tugas berbilang langkah.
- Menggabungkan beberapa alat untuk aplikasi dunia sebenar.
Pengajaran Utama
- Agent boleh menggunakan alat untuk melaksanakan tindakan.
- Pilih jenis agent yang sesuai untuk kes penggunaan anda.
- Berikan penerangan alat yang jelas.
- Gunakan ReAct atau function calling untuk hasil lebih baik.
- Agent berguna untuk tugas kompleks berbilang langkah.
- Sentiasa sahkan dan hadkan akses alat demi keselamatan.
- Cuba pelbagai alat dan prompt.