Projetando Sistemas Agentes com LangChain
Dilini K. Sumanapala, PhD
Founder & AI Engineer, Genverv, Ltd.


Agent: 5 de novembro é famoso pela Conspiração da Pólvora...
string == string[::-1] Agent: Sim, "madam" é um palíndromo...
# Use um decorator para rotular a ferramenta e definir a entrada como string @tooldef date_checker(date: str) -> str:"""Fornece uma lista de eventos históricos importantes para uma data em qualquer formato."""try: # Invoque o LLM para interpretar a data e gerar eventos históricos answer = llm.invoke(f"List important historical events that occurred on {date}.")# Retorne a resposta return answer.content# Defina um bloco de exceção para erros na recuperação except Exception as e: return f"Erro ao recuperar eventos: {str(e)}"
@tool# Defina a entrada como string def check_palindrome(text: str):"""Verifica se uma palavra ou frase é um palíndromo."""# Remove caracteres não alfanuméricos e converte para minúsculas cleaned = ''.join(char.lower() for char in text if char.isalnum())# Verifica se o reverso é igual ao original if cleaned == cleaned[::-1]: return f"A frase ou palavra '{text}' é um palíndromo." else: return f"A frase ou palavra '{text}' não é um palíndromo."
# Importe os módulos para definir nós de ferramenta from langgraph.prebuilt import ToolNode# Lista de ferramentas tools = [wikipedia_tool, date_checker, check_palindrome]# Passe as ferramentas para ToolNode() tool_node = ToolNode(tools)# Vincule as ferramentas ao LLM model_with_tools = llm.bind_tools(tools)
Projetando Sistemas Agentes com LangChain