ری‌اکت

پروژه AutoGPT معروف بر اساس مدل ReAct است که یک ترکیبی از تفکر + عمل است. مدل بزرگ LLM مسئول تفکر، کنترل عمل‌ها برای دستیابی به اهداف، و برای توسعه‌دهندگان، عمل واقعاً درباره توسعه ابزارها یا رابط‌های برنامه نویسی خوب است. این فصل نحوه پیاده‌سازی مدل ReAct توسط LangChain را معرفی می‌کند.

ReAct

بارگذاری بسته‌های پایه:

from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain_openai import OpenAI

در اینجا، از مدل OpenAI استفاده می‌کنیم:

llm = OpenAI(temperature=0)

بارگذاری دو ابزار داخلی در LangChain: serpapi برای جستجو در گوگل و llm-math برای ماشین حساب ریاضی، هر دو پیاده‌سازی شده استفاده از LLM. بنابراین، هنگام بارگذاری ابزارها، باید مدل llm مورد استفاده را ارسال کرد.

tools = load_tools(["serpapi", "llm-math"], llm=llm)

سرانجام، مقدماتی‌سازی عامل با نوع عامل به عنوان AgentType.ZERO_SHOT_REACT_DESCRIPTION، نماینده مدل ReAct.

agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)

حالا بیایید آن را تست کنیم!

agent.run("کی دوست دختر لئوناردو دی‌کاپریو است؟ توان 0.43 از سن فعلی او چقدر است؟")
> وارد زنجیره جدیدی از اجراگر عامل می شوم...
     نیاز دارم بدانم دوست دختر لئوناردو دی‌کاپریو کیست و سپس توان 0.43 از سن او را محاسبه کنم.
    عمل: جستجو
    ورودی عمل: "دوست دختر لئوناردو دی‌کاپریو"
    مشاهده: کامیلا مورون
    فکر: نیاز دارم سن کامیلا مورون را پیدا کنم
    عمل: جستجو
    ورودی عمل: "سن کامیلا مورون"
    مشاهده: 25 ساله
    فکر: نیاز دارم 25 به توان 0.43 را محاسبه کنم
    عمل: ماشین حساب
    ورودی عمل: 25^0.43
    مشاهده: پاسخ: 3.991298452658078

    فکر: حالا جواب نهایی را می‌دانم
    جواب نهایی: کامیلا مورون دوست دختر لئوناردو دی‌کاپریو است، و توان 0.43 از سن او 3.991298452658078 است.

    > زنجیره تکمیل شد.

    "کامیلا مورون دوست دختر لئوناردو دی‌کاپریو است، و توان 0.43 از سن او 3.991298452658078 است."

استفاده از مدل گفتگو

از مثال قبلی می‌دانیم که عامل نیاز دارد تا یک مدل بزرگ را به عنوان موتور تفکر انتخاب کند. در اینجا، آن را به استفاده از مدل گفتگو از OpenAI تغییر می‌دهیم.

from langchain_openai import ChatOpenAI

chat_model = ChatOpenAI(temperature=0)
agent = initialize_agent(tools, chat_model, agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
agent.run("کی دوست دختر لئوناردو دی‌کاپریو است؟ توان 0.43 از سن فعلی او چقدر است؟")