ReAct
Proyek AutoGPT yang terkenal didasarkan pada model ReAct, yang merupakan kombinasi dari reasoning + action. Model LLM besar bertanggung jawab atas pemikiran, mengendalikan tindakan untuk mencapai tujuan, dan bagi para pengembang, tindakan sebenarnya tentang mengembangkan alat atau API yang baik. Bab ini akan memperkenalkan bagaimana LangChain menerapkan model ReAct.
Memuat paket-paket dasar:
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain_openai import OpenAI
Di sini, kami menggunakan model OpenAI:
llm = OpenAI(temperature=0)
Memuat dua alat bawaan dalam LangChain: serpapi untuk pencarian Google dan llm-math untuk kalkulator matematika, keduanya diimplementasikan menggunakan LLM. Oleh karena itu, saat memuat alat-alat, model llm yang akan digunakan harus disertakan.
tools = load_tools(["serpapi", "llm-math"], llm=llm)
Terakhir, menginisialisasi agen dengan tipe agen sebagai AgentType.ZERO_SHOT_REACT_DESCRIPTION, yang mewakili model ReAct.
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
Sekarang, mari kita coba!
agent.run("Siapakah kekasih Leonardo DiCaprio? Berapakah hasil dari 0.43 pangkat usianya saat ini?")
> Memasuki rantai Eksekutor Agen yang baru...
Saya perlu mencari tahu siapa kekasih Leonardo DiCaprio, dan kemudian menghitung 0.43 pangkat usianya.
Tindakan: Pencarian
Input tindakan: "kekasih Leonardo DiCaprio"
Observasi: Camila Morrone
Memikirkan: Saya perlu mencari tahu usia Camila Morrone
Tindakan: Pencarian
Input tindakan: "usia Camila Morrone"
Observasi: 25 tahun
Memikirkan: Saya perlu menghitung 25 pangkat 0.43
Tindakan: Kalkulator
Input tindakan: 25^0.43
Observasi: Jawaban: 3.991298452658078
Memikirkan: Sekarang saya tahu jawaban akhir
Jawaban akhir: Camila Morrone adalah kekasih Leonardo DiCaprio, dan hasil dari 0.43 pangkat usianya adalah 3.991298452658078.
> Rantai selesai.
"Camila Morrone adalah kekasih Leonardo DiCaprio, dan hasil dari 0.43 pangkat usianya adalah 3.991298452658078."
Menggunakan Chat Model
Dari contoh sebelumnya, kita tahu bahwa agen perlu memilih model besar sebagai mesin pemikiran. Di sini, kita mengubahnya untuk menggunakan model obrolan dari OpenAI.
from langchain_openai import ChatOpenAI
chat_model = ChatOpenAI(temperature=0)
agen = initialize_agent(tools, chat_model, agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
agen.run("Siapakah kekasih Leonardo DiCaprio? Berapakah hasil dari 0.43 pangkat usianya saat ini?")