반응형
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 |