python

[GPT][INVESTORGPT] Zero-shot ReAct Agent

으누아빠 2024. 5. 20. 15:15
반응형

 

from langchain.chat_models import ChatOpenAI
from langchain.tools import Tool
from langchain.agents import initialize_agent, AgentType

llm = ChatOpenAI(
    temperature=0.1,
)

def plus(inputs):
    a,b = inputs.split(",")
    return float(a) + float(b)

agent = initialize_agent(
    llm=llm,
    verbose=True,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    handle_parsing_erros=True,
    tools=[
        Tool.from_function(
            func=plus,
            name="Sum Calculator",
            description="Use this to perform sums of two numbers. This tool take two arguments, both should be numbers. till finish. Use this tool by sending a pair of number separated by a comma. \n Example: 2,3",
        )
    ],
)

prompt = "Tell me Total Cost of $355.39 + $924.87 + $721.2 + $1940.29 + $573.63 + $65.72 + $35.00 + $552.00 + $76.16 + $29.12"

#llm.invoke(prompt)
agent.invoke(prompt)

 

Zero-shot ReAct

 

작업과 도구 설명을 보고 사용할 도구를 결정

ReAct는 Reasoning + Acting으로 Yao et al. (2022)의 논문에 소개된 개념

Reasoning은 생각(Chain-of-Thought, COT), Acting은 외부 도구 실행을 의미

필요한 작업에 따라 정하면 되는데, Zero-shot ReAct가 가장 기본이 되는 Agent

 

전달 받는값은 1개로 제한되며, 이를 분리하여 사용한다.

'python' 카테고리의 다른 글

[GPT][INVESTORGPT] Search Tool  (0) 2024.05.20
[GPT][INVESTORGPT] OpenAI Functions Agent  (0) 2024.05.20
[GPT][INVESTORGPT] Agent  (0) 2024.05.20
[GPT][MEETINGGPT] 최종 예제  (0) 2024.05.14
[GPT][MEETINGGPT] Refine Chain  (0) 2024.05.14