helloparthshah commited on
Commit
0e58feb
Β·
1 Parent(s): 2f85c93

Some more refactor

Browse files
main.py CHANGED
@@ -3,8 +3,6 @@ import gradio as gr
3
  import base64
4
  from src.manager.manager import GeminiManager
5
 
6
- model_manager = GeminiManager(gemini_model="gemini-2.0-flash")
7
-
8
  _logo_bytes = open("HASHIRU_LOGO.png", "rb").read()
9
  _logo_b64 = base64.b64encode(_logo_bytes).decode()
10
  _header_html = f"""
@@ -45,6 +43,8 @@ def update_model(model_name):
45
 
46
 
47
  with gr.Blocks(css=css, fill_width=True, fill_height=True) as demo:
 
 
48
  with gr.Column(scale=1):
49
  with gr.Row(scale=0):
50
  gr.Markdown(_header_html)
 
3
  import base64
4
  from src.manager.manager import GeminiManager
5
 
 
 
6
  _logo_bytes = open("HASHIRU_LOGO.png", "rb").read()
7
  _logo_b64 = base64.b64encode(_logo_bytes).decode()
8
  _header_html = f"""
 
43
 
44
 
45
  with gr.Blocks(css=css, fill_width=True, fill_height=True) as demo:
46
+ model_manager = GeminiManager(gemini_model="gemini-2.0-flash")
47
+
48
  with gr.Column(scale=1):
49
  with gr.Row(scale=0):
50
  gr.Markdown(_header_html)
src/default_tools/update_memory.py DELETED
@@ -1,35 +0,0 @@
1
-
2
- __all__ = ['GetBudget']
3
-
4
- from src.manager.budget_manager import BudgetManager
5
-
6
-
7
- class GetBudget():
8
- dependencies = []
9
-
10
- inputSchema = {
11
- "name": "GetBudget",
12
- "description": "Retrieves the current budget available.",
13
- "parameters": {
14
- "type": "object",
15
- "properties":{},
16
- "required": [],
17
- },
18
- }
19
-
20
-
21
- def run(self, **kwargs):
22
- budget_manager = BudgetManager()
23
- total_budget = budget_manager.get_total_budget()
24
- current_expense = budget_manager.get_current_expense()
25
- current_remaining_budget = budget_manager.get_current_remaining_budget()
26
- return {
27
- "status": "success",
28
- "message": "Budget retrieved successfully",
29
- "output": {
30
- "total_budget": total_budget,
31
- "current_expense": current_expense,
32
- "current_remaining_budget": current_remaining_budget
33
- }
34
- }
35
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/manager/config/model_selector.py CHANGED
@@ -1,5 +1,5 @@
1
  from src.manager.utils.runtime_selector import detect_runtime_environment
2
- from cost_benefit import get_best_model
3
  import os
4
  from dotenv import load_dotenv
5
  load_dotenv()
 
1
  from src.manager.utils.runtime_selector import detect_runtime_environment
2
+ from src.cost_benefit import get_best_model
3
  import os
4
  from dotenv import load_dotenv
5
  load_dotenv()
src/manager/tool_manager.py CHANGED
@@ -5,18 +5,16 @@ import types
5
  from typing import List
6
  import pip
7
  from google.genai import types
8
- import sys
9
 
10
  from src.manager.budget_manager import BudgetManager
11
  from src.manager.utils.singleton import singleton
12
  from src.manager.utils.suppress_outputs import suppress_output
13
- from src.default_tools.get_agents_tool import GetAgents
14
- from src.default_tools.tool_deletor import ToolDeletor
15
  from src.manager.utils.streamlit_interface import output_assistant_response
16
 
17
  toolsImported = []
18
 
19
- TOOLS_DIRECTORIES = [os.path.abspath("./src/default_tools"), os.path.abspath("./src/tools")]
20
 
21
  class Tool:
22
  def __init__(self, toolClass):
 
5
  from typing import List
6
  import pip
7
  from google.genai import types
 
8
 
9
  from src.manager.budget_manager import BudgetManager
10
  from src.manager.utils.singleton import singleton
11
  from src.manager.utils.suppress_outputs import suppress_output
12
+ from src.tools.default_tools.tool_deletor import ToolDeletor
 
13
  from src.manager.utils.streamlit_interface import output_assistant_response
14
 
15
  toolsImported = []
16
 
17
+ TOOLS_DIRECTORIES = [os.path.abspath("./src/tools/default_tools"), os.path.abspath("./src/tools/user_tools")]
18
 
19
  class Tool:
20
  def __init__(self, toolClass):
src/models/system3.prompt CHANGED
@@ -79,7 +79,7 @@ Before firing an agent, evaluate its potential future usefulness in the conversa
79
  </Rule>
80
 
81
  <Rule>
82
- Tools are created in the tools/ directory. Before creating a new tool, you MUST read the directory using ListFiles tools and ReadFile tools to see how existing tools are implemented.
83
  The new tool should be created in the same format as the existing ones.
84
  </Rule>
85
 
 
79
  </Rule>
80
 
81
  <Rule>
82
+ Tools are created in the src/tools/default_tools and src/tools/user_tools directory. Before creating a new tool, you MUST read the directory using ListFiles tools and ReadFile tools to see how existing tools are implemented.
83
  The new tool should be created in the same format as the existing ones.
84
  </Rule>
85
 
src/{default_tools β†’ tools/default_tools}/agent_creater_tool.py RENAMED
File without changes
src/{default_tools β†’ tools/default_tools}/ask_agent_tool.py RENAMED
File without changes
src/{default_tools β†’ tools/default_tools}/fire_agent.py RENAMED
File without changes
src/{default_tools β†’ tools/default_tools}/get_agents_tool.py RENAMED
File without changes
src/{default_tools β†’ tools/default_tools}/get_budget.py RENAMED
File without changes
src/{default_tools β†’ tools/default_tools}/google_search_tool.py RENAMED
File without changes
src/{default_tools β†’ tools/default_tools}/list_files.py RENAMED
File without changes
src/{default_tools β†’ tools/default_tools}/read_file.py RENAMED
File without changes
src/{default_tools β†’ tools/default_tools}/test_cost/agent_creator_tool.py RENAMED
File without changes
src/{default_tools β†’ tools/default_tools}/tool_creator.py RENAMED
File without changes
src/{default_tools β†’ tools/default_tools}/tool_deletor.py RENAMED
File without changes
src/tools/default_tools/update_memory.py ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ __all__ = ['UpdateMemory']
3
+
4
+ from src.manager.budget_manager import BudgetManager
5
+
6
+
7
+ class UpdateMemory():
8
+ dependencies = []
9
+
10
+ inputSchema = {
11
+ "name": "UpdateMemory",
12
+ "description": "Updates the memory of the AI agent. This tool is used to update the memory of the AI agent with new information.",
13
+ "parameters": {
14
+ "type": "object",
15
+ "properties":{
16
+ "memory": {
17
+ "type": "string",
18
+ "description": "The new memory to be added to the AI agent's memory.",
19
+ }
20
+ },
21
+ "required": ["memory"],
22
+ },
23
+ }
24
+
25
+
26
+ def run(self, **kwargs):
27
+ return {
28
+ "status": "fail",
29
+ "message": "This tool is not implemented yet",
30
+ "output": None
31
+ }
32
+
src/tools/{arxiv_tool.py β†’ user_tools/arxiv_tool.py} RENAMED
File without changes
src/tools/{get_website_tool.py β†’ user_tools/get_website_tool.py} RENAMED
File without changes
src/tools/{globle_tool.py β†’ user_tools/globle_tool.py} RENAMED
File without changes
src/tools/{weather_tool.py β†’ user_tools/weather_tool.py} RENAMED
File without changes
src/tools/{wikipedia_tool.py β†’ user_tools/wikipedia_tool.py} RENAMED
File without changes
src/tools/{wordle_tool.py β†’ user_tools/wordle_tool.py} RENAMED
File without changes