Spaces:
Running
Running
Commit
Β·
0e58feb
1
Parent(s):
2f85c93
Some more refactor
Browse files- main.py +2 -2
- src/default_tools/update_memory.py +0 -35
- src/manager/config/model_selector.py +1 -1
- src/manager/tool_manager.py +2 -4
- src/models/system3.prompt +1 -1
- src/{default_tools β tools/default_tools}/agent_creater_tool.py +0 -0
- src/{default_tools β tools/default_tools}/ask_agent_tool.py +0 -0
- src/{default_tools β tools/default_tools}/fire_agent.py +0 -0
- src/{default_tools β tools/default_tools}/get_agents_tool.py +0 -0
- src/{default_tools β tools/default_tools}/get_budget.py +0 -0
- src/{default_tools β tools/default_tools}/google_search_tool.py +0 -0
- src/{default_tools β tools/default_tools}/list_files.py +0 -0
- src/{default_tools β tools/default_tools}/read_file.py +0 -0
- src/{default_tools β tools/default_tools}/test_cost/agent_creator_tool.py +0 -0
- src/{default_tools β tools/default_tools}/tool_creator.py +0 -0
- src/{default_tools β tools/default_tools}/tool_deletor.py +0 -0
- src/tools/default_tools/update_memory.py +32 -0
- src/tools/{arxiv_tool.py β user_tools/arxiv_tool.py} +0 -0
- src/tools/{get_website_tool.py β user_tools/get_website_tool.py} +0 -0
- src/tools/{globle_tool.py β user_tools/globle_tool.py} +0 -0
- src/tools/{weather_tool.py β user_tools/weather_tool.py} +0 -0
- src/tools/{wikipedia_tool.py β user_tools/wikipedia_tool.py} +0 -0
- src/tools/{wordle_tool.py β user_tools/wordle_tool.py} +0 -0
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.
|
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
|