Sedang mengikuti modul ini?0 daripada 17 selesai
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.

7.1

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.
7.2

Cara Agent Berfungsi

  1. 1Terima input pengguna (matlamat / soalan).
  2. 2Fahami tugas dan rancang langkah seterusnya.
  3. 3Pilih alat yang sesuai daripada alat yang tersedia.
  4. 4Laksanakan alat dengan input yang diperlukan.
  5. 5Perhatikan hasil dan tentukan tindakan seterusnya.
  6. 6Ulang proses sehingga jawapan akhir sedia.
7.3

Seni Bina Agent

Pertanyaan Pengguna
AgentPenaakulan + pemilihan alat
AlatCarian, API, DB, dsb.
Respons Akhir

LLM berada di belakang agent dan melakukan perancangan serta penaakulan.

7.4

Jenis Agent dalam LangChain

Jenis AgentPenerangan
Zero-shot AgentMenggunakan LLM untuk menentukan penggunaan alat tanpa contoh.
ReAct AgentMenggunakan corak penaakulan (Thought → Action → Observation).
Structured Chat AgentBerfungsi dengan format sembang berstruktur.
OpenAI Functions AgentMenggunakan function calling OpenAI.
Tool Calling AgentMenggunakan model tool-calling (cth. GPT-4).
Self-Ask with SearchMemecahkan soalan kompleks kepada sub-soalan lebih mudah.
7.5

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"])
7.6

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"])
7.7

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.
7.8

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.