File size: 2,030 Bytes
2f85c93 8157183 2ea8556 8157183 2ea8556 8157183 fcb1a95 bf722a2 fcb1a95 8cf77a3 fcb1a95 8cf77a3 fcb1a95 8157183 fcb1a95 bf722a2 8157183 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
from src.manager.budget_manager import BudgetManager
from src.manager.agent_manager import AgentManager
__all__ = ['AskAgent']
class AskAgent():
dependencies = ["ollama==0.4.7",
"pydantic==2.11.1",
"pydantic_core==2.33.0"]
inputSchema = {
"name": "AskAgent",
"description": "Asks an AI agent a question and gets a response. The agent must be created using the AgentCreator tool before using this tool.",
"parameters": {
"type": "object",
"properties": {
"agent_name": {
"type": "string",
"description": "Name of the AI agent that is to be asked a question. This name cannot have spaces or special characters. It should be a single word.",
},
"prompt": {
"type": "string",
"description": "This is the prompt that will be used to ask the agent a question. It should be a string that describes the question to be asked.",
}
},
"required": ["agent_name", "prompt"],
}
}
def run(self, **kwargs):
print("Asking agent a question")
agent_name = kwargs.get("agent_name")
prompt = kwargs.get("prompt")
agent_manger = AgentManager()
try:
agent_response, remaining_resource_budget, remaining_expense_budget = agent_manger.ask_agent(agent_name=agent_name, prompt=prompt)
except ValueError as e:
return {
"status": "error",
"message": f"Error occurred: {str(e)}",
"output": None
}
print("Agent response", agent_response)
return {
"status": "success",
"message": "Agent has replied to the given prompt",
"output": agent_response,
"remaining_resource_budget": remaining_resource_budget,
"remaining_expense_budget": remaining_expense_budget
}
|