Sedang mengikuti modul ini?0 daripada 17 selesai
Modul 10 · Halaman 11 daripada 20 · 9 bahagian

Agent dalam LangChain (Lanjutan)

Gelung ReAct secara terperinci, senarai penuh jenis agent, alat yang lazim digunakan agent serta contoh agent ReAct, agent berbilang alat dan agent dengan alat tersuai.

10.1

Apa itu Agent?

  • Agent ialah LLM yang boleh memutuskan alat mana untuk digunakan, bila dan dalam susunan apa bagi mencapai matlamat.
  • Ia boleh memecahkan tugas kompleks kepada beberapa langkah, menggunakan alat dan menaakul tindakan seterusnya.
  • Agent mengikut gelung penaakulan bernama "Plan → Action → Observation".
  • LangChain menyediakan pelbagai jenis agent dan cara mudah untuk mencipta agent tersuai.
10.2

Mengapa Menggunakan Agent?

  • Mengendalikan tugas kompleks berbilang langkah.
  • Memilih alat yang betul secara automatik berdasarkan pertanyaan pengguna.
  • Bekerja dengan data masa nyata (API, DB, carian, dsb.).
  • Berguna untuk chatbot, pembantu penyelidikan, penjana laporan dan sistem automasi.
  • Mengurangkan usaha manual dengan membiarkan LLM menentukan aliran kerja.
10.3

Cara Agent Berfungsi (Corak ReAct)

Pertanyaan PenggunaMatlamat
LLMPenaakulan
Pilih AlatTentukan tindakan
Laksana AlatAPI / DB / carian / dsb.
Perhati HasilGuna output
Jawapan AkhirKepada pengguna

LLM berfikir, memilih alat, melakukan tindakan, memerhati hasil dan mengulang sehingga jawapan akhir sedia.

10.4

Jenis Agent dalam LangChain

Jenis AgentPenerangan
ZeroShotAgentMenentukan penggunaan alat tanpa contoh.
ReActAgentMenggunakan penaakulan (Thought → Action → Observation) untuk menentukan langkah seterusnya.
StructuredChatAgentMenggunakan format sembang berstruktur dengan alat.
OpenAIFunctionsAgentMenggunakan function calling OpenAI.
ConversationalAgentMengekalkan sejarah perbualan.
SelfAskWithSearchAgentMemecahkan soalan kompleks kepada sub-soalan mudah.
Custom AgentCipta agent anda sendiri dengan logik dan alat tersuai.
10.5

Alat Lazim yang Digunakan dengan Agent

  • SerpAPI / alat carian (Google Search)
  • Alat Python REPL (jalankan kod Python)
  • Alat Requests (panggilan API HTTP)
  • Alat SQL Database (pertanyaan pangkalan data)
  • Alat Wikipedia (pengetahuan am)
  • Alat tersuai (logik perniagaan, API dalaman)
10.6

Contoh 1: Agent ReAct dengan Alat Carian

python
from langchain_openai import ChatOpenAI
from langchain.agents import initialize_agent, AgentType
from langchain.tools import SerpAPIWrapper

# Initialize LLM
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7)

# Create search tool
search = SerpAPIWrapper()
tools = [search]

# Create ReAct agent
agent = initialize_agent(
    tools=tools,
    llm=llm,
    agent=AgentType.REACT_DOCSTORE,
    verbose=True
)

response = agent.invoke({"input": "What is the latest news about electric vehicles in India?"})
print(response["output"])
10.7

Contoh 2: Agent dengan Beberapa Alat

python
from langchain_openai import ChatOpenAI
from langchain.agents import initialize_agent, AgentType
from langchain.tools import SerpAPIWrapper, PythonREPLTool

llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7)

search = SerpAPIWrapper()
python_tool = PythonREPLTool()
tools = [
    Tool(name="Search", func=search.run,
         description="Search the internet for information"),
    Tool(name="PythonREPL", func=python_tool.run,
         description="Run Python code for calculation or analysis")
]
agent = initialize_agent(
    tools=tools,
    llm=llm,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True
)
response = agent.invoke({"input": "Search the population of Delhi and calculate 5% of that number using Python."})
print(response["output"])
10.8

Contoh 3: Alat Tersuai dengan Agent

python
from langchain.tools import tool

@tool
def get_employee_details(emp_id: str) -> str:
    """Get employee details from internal system."""
    # Your business logic here
    return f"Employee {emp_id} - Name: Rahul, Dept: IT"

# Use this tool with an agent
# tools = [get_employee_details]
# agent = initialize_agent(tools, llm, agent=..., verbose=True)
10.9

Pengajaran Utama

  • Agent boleh menggunakan beberapa alat untuk menyelesaikan tugas kompleks.
  • Pilih jenis agent yang sesuai mengikut kes penggunaan anda.
  • Berikan penerangan alat yang jelas untuk hasil lebih baik.
  • Agent mengikut gelung penaakulan (Plan → Action → Observation).
  • Gabungkan carian, pangkalan data, pelaksanaan kod dan alat tersuai.
  • Berguna untuk membina pembantu AI yang berkuasa dan aliran kerja automasi.