mirror of
				https://github.com/humanlayer/humanlayer.git
				synced 2025-08-20 19:01:22 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from dotenv import load_dotenv
 | |
| 
 | |
| load_dotenv()
 | |
| 
 | |
| from crewai import Agent, Crew, Task
 | |
| from crewai_tools import tool
 | |
| 
 | |
| from humanlayer import HumanLayer
 | |
| 
 | |
| hl = HumanLayer(
 | |
|     # run_id is optional -it can be used to identify the agent in approval history
 | |
|     run_id="crewai-math",
 | |
| )
 | |
| 
 | |
| PROMPT = """multiply 2 and 5, then add 32 to the result"""
 | |
| 
 | |
| 
 | |
| @tool
 | |
| def add(a: int, b: int) -> int:
 | |
|     """Add two numbers together."""
 | |
|     return a + b
 | |
| 
 | |
| 
 | |
| @tool
 | |
| @hl.require_approval()
 | |
| def multiply(a: int, b: int) -> int:
 | |
|     """multiply two numbers"""
 | |
|     return a * b
 | |
| 
 | |
| 
 | |
| general_agent = Agent(
 | |
|     role="Math Professor",
 | |
|     goal="""Provide the solution to the students that are asking
 | |
|     mathematical questions and give them the answer.""",
 | |
|     backstory="""You are an excellent math professor that likes to solve math questions
 | |
|     in a way that everyone can understand your solution""",
 | |
|     allow_delegation=False,
 | |
|     tools=[add, multiply],
 | |
|     verbose=True,
 | |
|     crew_sharing=False,
 | |
| )
 | |
| 
 | |
| task = Task(
 | |
|     description=PROMPT,
 | |
|     agent=general_agent,
 | |
|     expected_output="A numerical answer.",
 | |
| )
 | |
| 
 | |
| crew = Crew(agents=[general_agent], tasks=[task], verbose=True)
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     result = crew.kickoff()
 | |
|     print("\n\n---------- RESULT ----------\n\n")
 | |
|     print(result)
 | 
