Skip to content

Commit

Permalink
Added logging to all routes
Browse files Browse the repository at this point in the history
  • Loading branch information
rohittp0 authored and 123vivekr committed Mar 23, 2024
1 parent 50e69f8 commit 7412354
Showing 1 changed file with 26 additions and 7 deletions.
33 changes: 26 additions & 7 deletions devika.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from src.init import init_devika
from src.config import Config

from src.logger import Logger
from src.logger import Logger, route_logger
from src.project import ProjectManager
from src.state import AgentState

Expand All @@ -21,13 +21,15 @@
log.disabled = True
CORS(app)

Logger().logger.info("Booting up... This may take a few seconds")
logger = Logger()

TIKTOKEN_ENC = tiktoken.get_encoding("cl100k_base")

os.environ["TOKENIZERS_PARALLELISM"] = "false"


@app.route("/api/create-project", methods=["POST"])
@route_logger(logger)
def create_project():
data = request.json
project_name = data.get("project_name")
Expand All @@ -36,6 +38,7 @@ def create_project():


@app.route("/api/execute-agent", methods=["POST"])
@route_logger(logger)
def execute_agent():
data = request.json
prompt = data.get("prompt")
Expand All @@ -54,12 +57,14 @@ def execute_agent():


@app.route("/api/get-browser-snapshot", methods=["GET"])
@route_logger(logger)
def browser_snapshot():
snapshot_path = request.args.get("snapshot_path")
return send_file(snapshot_path, as_attachment=True)


@app.route("/api/download-project", methods=["GET"])
@route_logger(logger)
def download_project():
project_name = request.args.get("project_name")
ProjectManager().project_to_zip(project_name)
Expand All @@ -68,6 +73,7 @@ def download_project():


@app.route("/api/download-project-pdf", methods=["GET"])
@route_logger(logger)
def download_project_pdf():
project_name = request.args.get("project_name")
pdf_dir = Config().get_pdfs_dir()
Expand All @@ -79,6 +85,7 @@ def download_project_pdf():


@app.route("/api/get-messages", methods=["POST"])
@route_logger(logger)
def get_messages():
data = request.json
project_name = data.get("project_name")
Expand All @@ -87,17 +94,18 @@ def get_messages():


@app.route("/api/send-message", methods=["POST"])
@route_logger(logger)
def send_message():
data = request.json
message = data.get("message")
project_name = data.get("project_name")
base_model = data.get("base_model")

new_message = ProjectManager().new_message()
new_message["message"] = message
new_message["from_devika"] = False
ProjectManager().add_message_to_project(project_name, new_message)

if AgentState().is_agent_completed(project_name):
thread = Thread(
target=lambda: Agent(base_model=base_model).subsequent_execute(message, project_name)
Expand All @@ -108,19 +116,22 @@ def send_message():


@app.route("/api/project-list", methods=["GET"])
@route_logger(logger)
def project_list():
pm = ProjectManager()
projects = pm.get_project_list()
return jsonify({"projects": projects})


@app.route("/api/model-list", methods=["GET"])
@route_logger(logger)
def model_list():
models = LLM().list_models()
return jsonify({"models": models})


@app.route("/api/is-agent-active", methods=["POST"])
@route_logger(logger)
def is_agent_active():
data = request.json
project_name = data.get("project_name")
Expand All @@ -129,6 +140,7 @@ def is_agent_active():


@app.route("/api/get-agent-state", methods=["POST"])
@route_logger(logger)
def get_agent_state():
data = request.json
project_name = data.get("project_name")
Expand All @@ -137,6 +149,7 @@ def get_agent_state():


@app.route("/api/calculate-tokens", methods=["POST"])
@route_logger(logger)
def calculate_tokens():
data = request.json
prompt = data.get("prompt")
Expand All @@ -145,19 +158,20 @@ def calculate_tokens():


@app.route("/api/token-usage", methods=["GET"])
@route_logger(logger)
def token_usage():
from src.llm import TOKEN_USAGE
return jsonify({"token_usage": TOKEN_USAGE})


@app.route("/api/real-time-logs", methods=["GET"])
def real_time_logs():
logger = Logger()
log_file = logger.read_log_file()
log_file = Logger().read_log_file()
return jsonify({"log_file": log_file})


@app.route("/api/get-browser-session", methods=["GET"])
@route_logger(logger)
def get_browser_session():
project_name = request.args.get("project_name")
agent_state = AgentState().get_latest_state(project_name)
Expand All @@ -169,6 +183,7 @@ def get_browser_session():


@app.route("/api/get-terminal-session", methods=["GET"])
@route_logger(logger)
def get_terminal_session():
project_name = request.args.get("project_name")
agent_state = AgentState().get_latest_state(project_name)
Expand All @@ -180,6 +195,7 @@ def get_terminal_session():


@app.route("/api/run-code", methods=["POST"])
@route_logger(logger)
def run_code():
data = request.json
project_name = data.get("project_name")
Expand All @@ -189,6 +205,7 @@ def run_code():


@app.route("/api/set-settings", methods=["POST"])
@route_logger(logger)
def set_settings():
data = request.json
config = Config()
Expand All @@ -198,11 +215,13 @@ def set_settings():


@app.route("/api/get-settings", methods=["GET"])
@route_logger(logger)
def get_settings():
config = Config().get_config()
return jsonify({"settings": config})


if __name__ == "__main__":
logger.info("Booting up... This may take a few seconds")
init_devika()
app.run(debug=False, port=1337, host="0.0.0.0")
app.run(debug=True, port=1337, host="0.0.0.0")

0 comments on commit 7412354

Please sign in to comment.