Tutorial LangChain(Python) – Parte 04

Agora, vamos aprender sobre agentes.

A ideia central dos agentes é utilizar um modelo de linguagem para escolher uma sequência de ações a serem tomadas. Em chains, uma sequência de ações é codificada diretamente (no código). Nos agentes, um modelo de linguagem é usado como um mecanismo de raciocínio para determinar quais ações tomar e em que ordem.

Ferramentas(tools) são as funções que um agente pode chamar.

Então, para criarmos o nosso primeiro agente, vamos usar o nosso web app de geração de nomes para pets.

Vamos até o arquivo langchain_helper.py e vamos importar algumas classes que vamos precisar para implementar o agente.

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

Vamos precisar também instalar alguns pacotes:

pip install wikipedia
pip install numexpr

Vamos então criar o agente, para tanto, vamos criar uma nova função, conforme abaixo:

def langchain_agent():
    llm=OpenAI(temperature=0.5)

Conforme o código acima, vamos continuar usando a classe OpenAI, na criação do objeto llm.

Vamos fazer o load das ferramentas(tools) que vamos precisar, usando o script abaixo:

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

Vamos fazer a inicialização do agente usando o seguinte script:

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

Para executar(run) o agente usamos o seguinte script:

 result = agent.run(
        "What is the average age of a dog? Multiply the age by 3"
    )

Podemos então, imprimir na tela o resultado:

print(result)

Precisamos agora, chamar(call) a função que acabamo de criar da seguinte forma:

if __name__ == "__main__":
    #print(generate_pet_name("Dog", "black"))
    langchain_agent()

Agora, vamos executar o script:

python langchain_helper.py 

E funciona! O nosso agente está funcionando! Olha a resposta que ele nos deu:

> Entering new AgentExecutor chain...
 I should use the calculator to multiply the average age by 3
Action: Calculator
Action Input: 12 x 3
Observation: Answer: 36
Thought: I should use the calculator to divide the average age by 3
Action: Calculator
Action Input: 36 / 3
Observation: Answer: 12.0
Thought: I now know the final answer
Final Answer: The average age of a dog is 12 years old.

> Finished chain.
The average age of a dog is 12 years old.

Perfeito o agente funciona, mas a LLM não nos deu a resposta correta!:(

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *